diff --git a/netrender/client.py b/netrender/client.py
index 265048846ea67e311c5667c0d988d87b340ef6ef..ed94282bad88507f576ff996313ac523786eba34 100644
--- a/netrender/client.py
+++ b/netrender/client.py
@@ -267,14 +267,18 @@ class NetworkRenderEngine(bpy.types.RenderEngine):
     bl_label = "Network Render"
     bl_use_postprocess = False
     def render(self, scene):
-        if scene.network_render.mode == "RENDER_CLIENT":
-            self.render_client(scene)
-        elif scene.network_render.mode == "RENDER_SLAVE":
-            self.render_slave(scene)
-        elif scene.network_render.mode == "RENDER_MASTER":
-            self.render_master(scene)
-        else:
-            print("UNKNOWN OPERATION MODE")
+        try:
+            if scene.network_render.mode == "RENDER_CLIENT":
+                self.render_client(scene)
+            elif scene.network_render.mode == "RENDER_SLAVE":
+                self.render_slave(scene)
+            elif scene.network_render.mode == "RENDER_MASTER":
+                self.render_master(scene)
+            else:
+                print("UNKNOWN OPERATION MODE")
+        except Exception as e:
+            self.report('ERROR', str(e))
+            raise e
 
     def render_master(self, scene):
         netsettings = scene.network_render
diff --git a/netrender/utils.py b/netrender/utils.py
index d615685af90f28e6dd201c6fbfee76ec8a504dc6..f1e8640b032b2f894678a6935769f2019c772162 100644
--- a/netrender/utils.py
+++ b/netrender/utils.py
@@ -16,7 +16,7 @@
 #
 # ##### END GPL LICENSE BLOCK #####
 
-import sys, os
+import sys, os, re
 import http, http.client, http.server, socket
 import subprocess, time, hashlib