diff --git a/tests/pyboard.py b/tests/pyboard.py
deleted file mode 120000
index 3a82f6a6a36dbdeb4d3ab500bc85b52db2afa866..0000000000000000000000000000000000000000
--- a/tests/pyboard.py
+++ /dev/null
@@ -1 +0,0 @@
-../tools/pyboard.py
\ No newline at end of file
diff --git a/tests/run-tests b/tests/run-tests
index cf59e466827a5e93f5b1c02fd7055d0f040c67f8..07d326811909537e5aa28743bc57fddf56bf09b5 100755
--- a/tests/run-tests
+++ b/tests/run-tests
@@ -139,7 +139,6 @@ def run_micropython(pyb, args, test_file, is_special=False):
 
     else:
         # run on pyboard
-        import pyboard
         pyb.enter_raw_repl()
         try:
             output_mupy = pyb.execfile(test_file)
@@ -533,6 +532,8 @@ the last matching regex is used:
     if args.target == 'unix' or args.list_tests:
         pyb = None
     elif args.target in EXTERNAL_TARGETS:
+        global pyboard
+        sys.path.append('../tools')
         import pyboard
         pyb = pyboard.Pyboard(args.device, args.baudrate, args.user, args.password)
         pyb.enter_raw_repl()