diff --git a/src/samplesrc/sfm.pla b/src/samplesrc/sfm.pla
index bf90a62..d719530 100644
--- a/src/samplesrc/sfm.pla
+++ b/src/samplesrc/sfm.pla
@@ -364,6 +364,10 @@ def game(spdrcnt)#1
       fin
     fin
     //
+    // Update sprites
+    //
+    spriteDrawXorList()
+    //
     // Lasers
     //
     if lasercharging
@@ -395,15 +399,15 @@ def game(spdrcnt)#1
             width = 10 // Spider width
           fin
           if leftxlaser >= xspdr[k]-width and leftxlaser <= xspdr[k]+width
-            if yspdr[k] > leftylaser
+            if yspdr[k] + 5 > leftylaser
               lefthit    = k
-              leftylaser = yspdr[k]
+              leftylaser = yspdr[k] + 5
             fin
           fin
           if rightxlaser >= xspdr[k]-width and rightxlaser <= xspdr[k]+width
-            if yspdr[k] > rightylaser
+            if yspdr[k] + 5 > rightylaser
               righthit    = k
-              rightylaser = yspdr[k]
+              rightylaser = yspdr[k] + 5
             fin
           fin
         fin
@@ -503,7 +507,6 @@ def game(spdrcnt)#1
         hgrXorVLin(rightylaser,  YSHIP-8, rightxlaser-1)
       fin
     fin
-    spriteDrawXorList()
     //
     // Update stars
     //