diff --git a/src/pilot.c b/src/pilot.c
index 645ba01..a168a0f 100644
--- a/src/pilot.c
+++ b/src/pilot.c
@@ -1110,8 +1110,10 @@ void pilots_clean(void) {
   int i;
   for(i = 0; i < pilot_nstack; i++)
     /* We'll set player at priveleged position. */
-    if((player != NULL) && (pilot_stack[i] == player))
+    if((player != NULL) && (pilot_stack[i] == player)) {
       pilot_stack[0] = player;
+      pilot_stack[0]->lockons = 0; /* Clear lockons. */
+    }
     else /* Rest get killed. */
       pilot_free(pilot_stack[i]);