diff --git a/dist/tools/testrunner/testrunner.py b/dist/tools/testrunner/testrunner.py
index 09e1dbf3a4b4e13c69f874bdb46f6f86f5fea6f6..bf87cd15e12591c11c7853ebc80a22d518c7141b 100755
--- a/dist/tools/testrunner/testrunner.py
+++ b/dist/tools/testrunner/testrunner.py
@@ -29,7 +29,7 @@ def run(testfunc, timeout=5, echo=True):
         return 1
     finally:
         print("")
-        child.kill(signal.SIGKILL)
+        os.killpg(os.getpgid(child.pid), signal.SIGKILL)
         child.close()
 
     return 0