@@ -313,7 +313,7 @@ Item {
313313 property Item view: loader.status === Loader.Ready ? loader.item : null
314314
315315 function init() {
316− view.currentIndex = 0; // break binding with text field
316+ selectIndex(0); // break binding with text field
317317 selectedSpy.clear();
318318 respondedSpy.clear();
319319 teaseSpy.clear();
@@ -343,9 +343,15 @@ Item {
343343 return -1;
344344 }
345345
346+ function selectIndex(i) {
347+ view.currentIndex = i;
348+ var userList = findChild(view, "userList");
349+ tryCompare(userList, "movingInternally", false);
350+ }
351+
346352 function selectUser(name) {
347353 var i = getIndexOf(name);
348− view.currentIndex = i;
354+ selectIndex(i);
349355 return i;
350356 }
351357
@@ -441,7 +447,8 @@ Item {
441447
442448 // Escape is used to reset the authentication, especially if PAM is unresponsive
443449 function test_escape() {
444− view.currentIndex = 1;
450+ selectIndex(1);
451+ selectedSpy.clear();
445452 view.locked = true;
446453 view.showPrompt("Prompt", true, true);
447454 var passwordInput = findChild(view, "passwordInput");