diff --git a/CEP/Pipeline/recipes/sip/nodes/copier.py b/CEP/Pipeline/recipes/sip/nodes/copier.py
index a2c7fec679dcf9364c5ddd22a9c0bfe4d7ddb493..a34dca48192d61fbf848bf8eaad685d56b76d868 100644
--- a/CEP/Pipeline/recipes/sip/nodes/copier.py
+++ b/CEP/Pipeline/recipes/sip/nodes/copier.py
@@ -65,16 +65,16 @@ class copier(LOFARnodeTCP):
 
     def _copy_single_file_using_rsync(self, source_node, source_path,
                                       target_path):
+        # assure that target dir exists (rsync creates it but..
+        # an error in the python code will throw a nicer error
+        create_directory(os.path.dirname(target_path))
+
         #check if the targat_path is writable for the current proc
         if not os.access(os.path.dirname(target_path), os.W_OK):
-            message = "No write acces to target path: {0}".format(target_path)
+            message = "No write acces to target path: {0}".format(os.path.dirname(target_path))
             self.logger.error(message)
             raise IOError(message)
 
-        # assure that target dir exists (rsync creates it but..
-        # an error in the python code will throw a nicer error
-        create_directory(os.path.dirname(target_path))
-
         # construct copy command
         command = ["rsync", "-r", "{0}:{1}".format(source_node, source_path) ,
                                "{0}".format(target_path)]