diff --git a/tools/pyboard.py b/tools/pyboard.py
index a44710914e4951339192288fa77f6192dfaf157e..2f77ba37cab4b61c91557e68bdd8d3c867b91c7e 100644
--- a/tools/pyboard.py
+++ b/tools/pyboard.py
@@ -110,18 +110,19 @@ def run_test():
 
     pyb.exec('def apply(l, f):\r\n for item in l:\r\n  f(item)\r\n')
 
-    pyb.exec('leds=[pyb.Led(l) for l in range(1, 5)]')
+    pyb.exec('leds=[pyb.LED(l) for l in range(1, 5)]')
     pyb.exec('apply(leds, lambda l:l.off())')
 
     ## USR switch test
 
-    if True:
-        for i in range(2):
-            print("press USR button")
-            pyb.exec('while pyb.switch(): pyb.delay(10)')
-            pyb.exec('while not pyb.switch(): pyb.delay(10)')
+    pyb.exec('switch = pyb.Switch()')
+
+    for i in range(2):
+        print("press USR button")
+        pyb.exec('while switch(): pyb.delay(10)')
+        pyb.exec('while not switch(): pyb.delay(10)')
 
-        print('USR switch passed')
+    print('USR switch passed')
 
     ## accel test