diff --git a/os161-container/evaluate.py b/os161-container/evaluate.py
index 93247a9019520ad0417c5d9289eaa9a6b3900306..512626e47bf1acfdaf4186cda089babf2b9ccc28 100755
--- a/os161-container/evaluate.py
+++ b/os161-container/evaluate.py
@@ -69,9 +69,15 @@ class Namespace:
 
 def main(args):
     tests = []
-    with open(args.log, "r") as f:
+    encoding_error = False
+    with open(args.log, "rb") as f:
         log = f.read()
-        log.strip()
+        try:
+            log.decode(encoding='utf-8', errors='strict')
+        except:
+            encoding_error = True 
+        log = log.decode(encoding='utf-8', errors='ignore')
+        log = "\n".join([ l.strip() for l in log.split("\n") ])
         # Remove one cause topline is a split so would get empty line before
         tmp = log.split(">SPLIT<")[1:]
         for t in tmp:
@@ -90,6 +96,8 @@ def main(args):
     report = Report()
     for eval_func, out_of in verify.RUBRIC.items():
         name, mark, comments = eval_func(tests, helpers)
+        if encoding_error:
+            comments = "We could not decode your log into ASCII, this could lead to undefined behaviour everywhere, you have a memory corruption most likely in your code"
         report.add(name, mark, out_of, comments)
     print(str(report))
     report.to_csv("/logs/report.csv")