diff --git a/modules/bindings/pymod/tmtools.py b/modules/bindings/pymod/tmtools.py
index 87a9e3616c937f5514c9bbc3ba8a444410b7cec9..df545b9c116e10ccca2a8d4ece559a2d5fc21f78 100644
--- a/modules/bindings/pymod/tmtools.py
+++ b/modules/bindings/pymod/tmtools.py
@@ -83,6 +83,7 @@ def _RunTmAlign(tmalign, tmp_dir):
   ps.wait()
   lines=ps.stdout.readlines()
   if (len(lines))<22:
+    _CleanupFiles(tmp_dir)
     raise RuntimeError("tmalign superposition failed")
   return _ParseTmAlign(lines)
 
@@ -127,6 +128,7 @@ def _RunMmAlign(mmalign, tmp_dir):
   ps.wait()
   lines=ps.stdout.readlines()
   if (len(lines))<22:
+    _CleanupFiles(tmp_dir)
     raise RuntimeError("mmalign superposition failed")
   return _ParseMmAlign(lines)
 
@@ -173,6 +175,7 @@ def _RunTmScore(tmscore, tmp_dir):
   ps.wait()
   lines=ps.stdout.readlines()
   if (len(lines))<22:
+    _CleanupFiles(tmp_dir)
     raise RuntimeError("tmscore superposition failed")
   return _ParseTmScore(lines)