diff --git a/Ccs/ccs_function_lib.py b/Ccs/ccs_function_lib.py
index 9b0e02a6ecaa4f8766e9e38161daaf4ead35924e..8df849f32db3caf676fd4becdf756b324dfdf322 100644
--- a/Ccs/ccs_function_lib.py
+++ b/Ccs/ccs_function_lib.py
@@ -20,6 +20,7 @@ import time
 import dbus
 import socket
 import os
+from pathlib import Path
 import glob
 import numpy as np
 import logging.handlers
@@ -5800,6 +5801,8 @@ class TestReport:
 
         buf = '\n'.join([self.delimiter.join(self.report[line]) for line in range(len(self.report))])
 
+        Path(os.path.dirname(reportfile)).mkdir(parents=True, exist_ok=True)  # create directory if it does not exist
+
         with open(reportfile, 'w') as fd:
             fd.write(buf + '\n')
         logger.info('Report written to {}.'.format(reportfile))