diff --git a/dist/tools/testrunner/testrunner.py b/dist/tools/testrunner/testrunner.py
index 2eff14e2392ca540e1c01f5a017efe48ce46122c..f36da3bbea511e576bb5bb921bd3d31895974324 100755
--- a/dist/tools/testrunner/testrunner.py
+++ b/dist/tools/testrunner/testrunner.py
@@ -9,8 +9,9 @@
 
 import os, signal, sys, subprocess
 from pexpect import spawnu, TIMEOUT, EOF
+from traceback import print_tb
 
-def run(testfunc, timeout=10, echo=True):
+def run(testfunc, timeout=10, echo=True, traceback=False):
     env = os.environ.copy()
     child = spawnu("make term", env=env, timeout=timeout)
     if echo:
@@ -26,6 +27,8 @@ def run(testfunc, timeout=10, echo=True):
         testfunc(child)
     except TIMEOUT:
         print("Timeout in expect script")
+        if traceback:
+            print_tb(sys.exc_info()[2])
         return 1
     finally:
         print("")