diff --git a/unbox.sh b/unbox.sh
index fb4222a..0761cb4 100755
--- a/unbox.sh
+++ b/unbox.sh
@@ -50,7 +50,7 @@ function unbox_outer_stage(){
 	
 
 	if type -t first_stage > /dev/null; then
-		first_stage
+		first_stage || (echo first_stage failed; bash)
 	else
 		echo first stage not found
 	fi
@@ -74,7 +74,7 @@ function unbox_outer_stage(){
 	umount target/root/unbox target/root/unbox_data
 	
 	if type -t post_install_stage > /dev/null; then
-		post_install_stage
+		post_install_stage || (echo post_install_stage failed; bash)
 	else
 		echo no post_install_stage found
 	fi
@@ -96,7 +96,7 @@ function unbox_inner_stage(){
 		echo chosen repository does not contain entry.sh file
 	fi
 	if type -t second_stage > /dev/null; then
-		second_stage
+		second_stage || (echo second_stage failed; bash)
 	else
 		echo second stage not found
 	fi