diff --git a/spim_registration/timelapse/deconvolution_CPU.bsh b/spim_registration/timelapse/deconvolution_CPU.bsh
index b2ba8aba757124e6cddf6a1090d8daffdd0d88e8..e38a7bc2eadc2abc1335142925c7708e42ba8b0e 100644
--- a/spim_registration/timelapse/deconvolution_CPU.bsh
+++ b/spim_registration/timelapse/deconvolution_CPU.bsh
@@ -13,10 +13,12 @@ System.out.println( "Start to load Parameters:" );
 // Select xml
 image_file_directory = System.getProperty( "image_file_directory" );
 merged_xml = System.getProperty( "merged_xml" );
-
+if ( ! merged_xml.endsWith(".xml") )
+    merged_xml = merged.xml + ".xml";
+     
 System.out.println( "-------------------------------------------------------" );
 System.out.println( "Load xml file: " );
-System.out.println( "selected_xml = " + image_file_directory + merged_xml + ".xml");
+System.out.println( "selected_xml = " + image_file_directory + merged_xml);
 
 // Load general Parameters
 parallel_timepoints = System.getProperty( "parallel_timepoints" );
@@ -97,8 +99,9 @@ System.out.println( "psf_size_z = " + psf_size_z );
 System.out.println( "=======================================================" );
 System.out.println( "Starting Deconvolution" );
 
+try {
 IJ.run("Fuse/Deconvolve Dataset", 
-	"select_xml=" + image_file_directory + merged_xml + ".xml " + 
+	"select_xml=" + image_file_directory + merged_xml  + " " +
 	"process_angle=[All angles] " +
 	"process_channel=[All channels] " + 
 	"process_illumination=[All illuminations] " +
@@ -130,6 +133,14 @@ IJ.run("Fuse/Deconvolve Dataset",
 	"psf_size_x=" + psf_size_x + " " +
 	"psf_size_y=" + psf_size_y + " " +
 	"psf_size_z=" + psf_size_z + "");
+}
+catch ( e ) { 
+
+    print( "[deconvolution-CPU] caught exception: "+e );
+    //important to fail the process if exception occurs
+    runtime.exit(1);
+    
+}
 
 /* shutdown */
 runtime.exit(0);
diff --git a/spim_registration/timelapse/deconvolution_GPU.bsh b/spim_registration/timelapse/deconvolution_GPU.bsh
index f06b7776bfa60cc759734128509248e839aa5db1..7ffb45b36eb239f73eafbefd70a07fb6e610be20 100644
--- a/spim_registration/timelapse/deconvolution_GPU.bsh
+++ b/spim_registration/timelapse/deconvolution_GPU.bsh
@@ -13,10 +13,12 @@ System.out.println( "Start to load Parameters:" );
 // Select xml
 image_file_directory = System.getProperty( "image_file_directory" );
 merged_xml = System.getProperty( "merged_xml" );
-
+if ( ! merged_xml.endsWith(".xml") )
+    merged_xml = merged.xml + ".xml";
+    
 System.out.println( "-------------------------------------------------------" );
 System.out.println( "Load xml file: " );
-System.out.println( "selected_xml = " + image_file_directory + merged_xml + ".xml");
+System.out.println( "selected_xml = " + image_file_directory + merged_xml);
 
 // Load general Parameters
 parallel_timepoints = System.getProperty( "parallel_timepoints" );
@@ -98,8 +100,9 @@ System.out.println( "psf_size_z = " + psf_size_z );
 System.out.println( "=======================================================" );
 System.out.println( "Starting Deconvolution" );
 
+try {
 IJ.run("Fuse/Deconvolve Dataset", 
-	"select_xml=" + image_file_directory + merged_xml + ".xml " + 
+	"select_xml=" + image_file_directory + merged_xml + " " +
 	"process_angle=[All angles] " +
 	"process_channel=[All channels] " + 
 	"process_illumination=[All illuminations] " +
@@ -137,7 +140,14 @@ IJ.run("Fuse/Deconvolve Dataset",
 	"psf_size_x=" + psf_size_x + " " +
 	"psf_size_y=" + psf_size_y + " " +
 	"psf_size_z=" + psf_size_z + "");
-
+}
+catch ( e ) { 
+
+    print( "[deconvolution-GPU] caught exception: "+e );
+    //important to fail the process if exception occurs
+    runtime.exit(1);
+    
+}
 
 /* shutdown */
 runtime.exit(0);
diff --git a/spim_registration/timelapse/registration.bsh b/spim_registration/timelapse/registration.bsh
index ab21bba7adb2c300efe65493548876dfcae9a480..4765129a0a9a541300371f17aabd80e4f5ccff6f 100644
--- a/spim_registration/timelapse/registration.bsh
+++ b/spim_registration/timelapse/registration.bsh
@@ -131,26 +131,36 @@ IJ.run("Detect Interest Points for Registration",
 //registration based on interest point detection
 System.out.println( "=======================================================" );
 System.out.println( "Starting Registration" );
-IJ.run("Register Dataset based on Interest Points",
-	"select_xml=" + xml_path + xml_filename + ".job_" + parallel_timepoints + ".xml " +
-        "process_angle=[" + process_angle + "] " +
-        "process_channel=[" + process_channel + "] " +
-        "process_illumination=[" + process_illumination + "] " +
-        "process_timepoint=[" + process_timepoint + "] " +
-	"xml_output=[Do not process on cluster] " + 
-	"processing_timepoint=[Timepoint " + parallel_timepoints + "] " +
-        "registration_algorithm=[" + registration_algorithm + "] " +
-        "type_of_registration=[" + type_of_registration + "] " +
-        "interest_points_channel_0=" + interest_points_channel_0 + " " +
-// check? "interest_points_channel_0=[[DO NOT register this channel]] " +
-//      "interest_points_channel_1=" + interest_points_channel_1 + " " + // Dual Channel
-        "fix_tiles=[" + fix_tiles + "] " +
-        "map_back_tiles=[" + map_back_tiles + "] " +
-        "transformation=" + transformation_model + " " +
-        "regularize_model " +
-        "model_to_regularize_with=" + model_to_regularize_with + " " +
-        "lamba=" + lambda + " " +
-        "allowed_error_for_ransac=" + allowed_error_for_ransac);
+
+try {
+    IJ.run("Register Dataset based on Interest Points",
+	   "select_xml=" + xml_path + xml_filename + ".job_" + parallel_timepoints + ".xml " +
+	   "process_angle=[" + process_angle + "] " +
+	   "process_channel=[" + process_channel + "] " +
+	   "process_illumination=[" + process_illumination + "] " +
+	   "process_timepoint=[" + process_timepoint + "] " +
+	   "xml_output=[Do not process on cluster] " + 
+	   "processing_timepoint=[Timepoint " + parallel_timepoints + "] " +
+	   "registration_algorithm=[" + registration_algorithm + "] " +
+	   "type_of_registration=[" + type_of_registration + "] " +
+	   "interest_points_channel_0=" + interest_points_channel_0 + " " +
+	   // check? "interest_points_channel_0=[[DO NOT register this channel]] " +
+	   //      "interest_points_channel_1=" + interest_points_channel_1 + " " + // Dual Channel
+	   "fix_tiles=[" + fix_tiles + "] " +
+	   "map_back_tiles=[" + map_back_tiles + "] " +
+	   "transformation=" + transformation_model + " " +
+	   "regularize_model " +
+	   "model_to_regularize_with=" + model_to_regularize_with + " " +
+	   "lamba=" + lambda + " " +
+	   "allowed_error_for_ransac=" + allowed_error_for_ransac);
+}
+catch ( e ) { 
+
+    print( "[registration] caught exception: "+e );
+    //important to fail the process if exception occurs
+    runtime.exit(1);
+    
+}
 
 /* shutdown */
 runtime.exit(0);
diff --git a/spim_registration/timelapse/transform.bsh b/spim_registration/timelapse/transform.bsh
index 3a1cb2edcd95652275a0dd6d3f63f3621c7753b4..839a08521875b663810ef80a37742f9131c30a80 100644
--- a/spim_registration/timelapse/transform.bsh
+++ b/spim_registration/timelapse/transform.bsh
@@ -11,6 +11,9 @@ System.out.println(runtime.availableProcessors() + " cores available for multi-t
 // Load Parameters form job file
 image_file_directory = System.getProperty( "image_file_directory" );
 merged_xml = System.getProperty( "merged_xml" );
+if ( ! merged_xml.endsWith(".xml") )
+    merged_xml = merged.xml + ".xml";
+    
 transform_angle = System.getProperty( "transform_angle" );
 transform_channel = System.getProperty( "transform_channel" );
 transform_illumination = System.getProperty( "transform_illumination" );
@@ -23,7 +26,7 @@ matrix_transform = System.getProperty( "matrix_transform" );
 // Print Parameters into output file
 
 System.out.println( "browse = " + image_file_directory );
-System.out.println( "select_xml = " + image_file_directory + merged_xml + ".xml" );
+System.out.println( "select_xml = " + image_file_directory + merged_xml  );
 System.out.println( "apply_to_angle = " + transform_angle );
 System.out.println( "apply_to_channel = " + transform_channel );
 System.out.println( "apply_to_illumination = " + transform_illumination );
@@ -34,9 +37,10 @@ System.out.println( "define = " + define_mode_transform );
 System.out.println( "all_timepoints_channel_0_illumination_0_all_angles = " + matrix_transform );
 
 // Execute Fiji Plugin
+try {
 IJ.run("Apply Transformations", 
 	"browse=" + image_file_directory + " " + 
-	"select_xml=" + image_file_directory + merged_xml + ".xml " +
+	"select_xml=" + image_file_directory + merged_xml + " " +
 	"apply_to_angle=[" + transform_angle + "] " +
 	"apply_to_channel=[" + transform_channel + "] " +
 	"apply_to_illumination=[" + transform_illumination + "] " +
@@ -48,7 +52,14 @@ IJ.run("Apply Transformations",
 	"same_transformation_for_all_angles " +
 //	"all_timepoints_channel_0_illumination_0_all_angles=[0.5, 0.0, 0.0, 0.0, 0.0, 0.5, 0.0, 0.0, 0.0, 0.0, 0.5, 0.0]");
 	"all_timepoints_channel_0_illumination_0_all_angles=[" + matrix_transform + "]");
+}
+catch ( e ) { 
 
+    print( "[transform] caught exception: "+e );
+    //important to fail the process if exception occurs
+    runtime.exit(1);
+    
+}
 /* shutdown */
 runtime.exit(0);
 	
diff --git a/spim_registration/timelapse/xml_merge.bsh b/spim_registration/timelapse/xml_merge.bsh
index 99925e772cbea18d24963c4c57e1815b6b9a0891..a3ab7dab127d6d4fad3f9d841f029aaa65630d5b 100644
--- a/spim_registration/timelapse/xml_merge.bsh
+++ b/spim_registration/timelapse/xml_merge.bsh
@@ -12,8 +12,11 @@ System.out.println( "Load Parameters:");
 
 	// Getting parameters from job file
 image_file_directory = System.getProperty( "image_file_directory" );
-merged_xml = System.getProperty( "merged_xml" );
 
+merged_xml = System.getProperty( "merged_xml" );
+if ( ! merged_xml.endsWith(".xml") )
+    merged_xml = merged.xml + ".xml";
+     
 // Printing parameters into output file
 System.out.println( "directory=" + image_file_directory );
 System.out.println( "merged_xml=" + merged_xml );
@@ -22,13 +25,21 @@ System.out.println( "=======================================================" );
 System.out.println( "Start to merge .xml files" );
 
 // Executing Fiji plugin
+try {
 IJ.run("Merge Cluster Jobs", 
 	"directory=" + image_file_directory + " " + 	
 	"filename_contains=job_ " + 
 	"filename_also_contains=.xml " +
 	"display " +
-//	"delete_xml's " + 
-	"merged_xml=" + merged_xml + ".xml");
- 
+	"merged_xml=" + merged_xml);
+}
+catch ( e ) { 
+
+    print( "[xml_merge] caught exception: "+e );
+    //important to fail the process if exception occurs
+    runtime.exit(1);
+    
+}
+
 /* shutdown */
 runtime.exit(0);