diff --git a/lib/http/server.py b/lib/http/server.py
index c49cb4b2e9a9153a9de8ffa94295677fc4183614..1e564c10806943eb9e4f6a8d8ead5de2ff2855ec 100644
--- a/lib/http/server.py
+++ b/lib/http/server.py
@@ -32,6 +32,7 @@ import signal
 import asyncore
 
 from ganeti import http
+from ganeti import utils
 
 
 WEEKDAYNAME = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
@@ -532,6 +533,9 @@ class HttpServer(http.HttpBase, asyncore.dispatcher):
           pass
         self.socket = None
 
+        # In case the handler code uses temporary files
+        utils.ResetTempfileModule()
+
         self.request_executor(self, connection, client_addr)
       except Exception: # pylint: disable-msg=W0703
         logging.exception("Error while handling request from %s:%s",
diff --git a/lib/utils.py b/lib/utils.py
index d3735a884936bd83949c2a72ebda00e387099948..c8a22c9e2fd236f24ba98fff37befd7d463d7dab 100644
--- a/lib/utils.py
+++ b/lib/utils.py
@@ -2057,6 +2057,9 @@ def RunInSeparateProcess(fn):
   if pid == 0:
     # Child process
     try:
+      # In case the function uses temporary files
+      ResetTempfileModule()
+
       # Call function
       result = int(bool(fn()))
       assert result in (0, 1)