diff --git a/share/analysis-scripts/make_wrapper.py b/share/analysis-scripts/make_wrapper.py
index 25cb2b838ae9f87897c396656cd2b7ccf77f9a96..07c314b9d8a8679b51f13c03973d15e36091395e 100755
--- a/share/analysis-scripts/make_wrapper.py
+++ b/share/analysis-scripts/make_wrapper.py
@@ -53,31 +53,27 @@ if not framac_bin:
    sys.exit("error: FRAMAC_BIN not in environment (set by frama-c-script)")
 framac_script = f"{framac_bin}/frama-c-script"
 
-_logfd, logname = tempfile.mkstemp(prefix="make_wrapper_tmp_")
+output_lines = []
 cmd_list = ['make', "-C", make_dir] + args
 with subprocess.Popen(cmd_list,
                       stdout=subprocess.PIPE,
-                      stderr=subprocess.STDOUT) as proc, \
-     open (logname, "bw") as logfile:
+                      stderr=subprocess.PIPE) as proc:
   while True:
     line = proc.stdout.readline()
     if line:
        sys.stdout.buffer.write(line)
        sys.stdout.flush()
-       logfile.write(line)
+       output_lines.append(line.decode('utf-8'))
     else:
        break
 
-output = open(logname, "r").read()
-os.remove(logname)
-
 re_missing_spec = re.compile("Neither code nor specification for function ([^,]+),")
 re_recursive_call_start = re.compile("detected recursive call")
 re_recursive_call_end = re.compile("Use -eva-ignore-recursive-calls to ignore")
 
 tips = []
 
-lines = iter(output.splitlines())
+lines = iter(output_lines)
 for line in lines:
     match = re_missing_spec.search(line)
     if match: