diff --git a/software/coordinator2.py b/software/coordinator2.py
index 4181e59c5db5546d1ebae3d0845143f3f7a7c92c..aa46997330620e4a0769dd25945e2a62920c38f7 100644
--- a/software/coordinator2.py
+++ b/software/coordinator2.py
@@ -174,6 +174,8 @@ class PRREvalClient(Thread):
 
         self.connected = 0
 
+        self.log_mutex = Lock()
+
         self.server_one = "pi-a279"
         self.HUB_ONE_DISCOVERY_TOPIC = "hotplug/{}/discovery".format(self.server_one)
         self.HUB_ONE_DISCOVERY_ANSWER_TOPIC = "hotplug/{}/discovery/answer".format(self.server_one)
@@ -247,6 +249,8 @@ class PRREvalClient(Thread):
                 os.mkdir("Node-Logs/{}".format(userdata))
             unpacked_msg = str(msg.payload)[2:][:-1]
             node_id = topic[2]
+
+            self.log_mutex.acquire()
             
             fh = logging.FileHandler("Node-Logs/{}/{}.log".format(userdata, node_id))
             fh.setLevel(logging.DEBUG)
@@ -254,8 +258,9 @@ class PRREvalClient(Thread):
 
             self.logger.addHandler(fh)
             self.logger.info("{}\t{}: {}".format(time(), node_id, unpacked_msg))
-
             self.logger.removeHandler(fh)
+
+            self.log_mutex.release()
         else:
             print( "[on_message] {} {}".format(msg.payload, msg.topic) )