diff --git a/bin/test_compressed_resources.sh b/bin/test_compressed_resources.sh
index b225107..81c96da 100755
--- a/bin/test_compressed_resources.sh
+++ b/bin/test_compressed_resources.sh
@@ -318,9 +318,13 @@ get_compressed_response () {
 	/usr/bin/curl $curl_opts --compressed --dump-header $header_file $location > $compressed_content
 	status_code=$?
 	if [ $status_code -ne 0 ]; then
+		success=false
+		message="Request for compressed content failed"
 		print_log_message -E "$script_name: curl failed ($status_code) on resource: $location"
-		clean_up_and_exit -d "$tmp_dir" $status_code
+		return 3
 	fi
+	
+	return 0
 }
 
 parse_compressed_response () {
@@ -333,7 +337,6 @@ parse_compressed_response () {
 	status_code=$?
 	if [ $status_code -ne 0 ]; then
 		print_log_message -E "$script_name: get_response_code failed ($status_code) to parse response code"
-		clean_up_and_exit -d "$tmp_dir" $status_code
 	fi
 
 	# get the Date response header
@@ -342,7 +345,6 @@ parse_compressed_response () {
 	status_code=$?
 	if [ $status_code -ne 0 ]; then
 		print_log_message -E "$script_name: get_header_value failed ($status_code) to parse response header: $header_name"
-		clean_up_and_exit -d "$tmp_dir" $status_code
 	fi
 
 	# get the Last-Modified response header
@@ -351,7 +353,6 @@ parse_compressed_response () {
 	status_code=$?
 	if [ $status_code -ne 0 ]; then
 		print_log_message -E "$script_name: get_header_value failed ($status_code) to parse response header: $header_name"
-		clean_up_and_exit -d "$tmp_dir" $status_code
 	fi
 
 	# get the ETag response header
@@ -360,7 +361,6 @@ parse_compressed_response () {
 	status_code=$?
 	if [ $status_code -ne 0 ]; then
 		print_log_message -E "$script_name: get_header_value failed ($status_code) to parse response header: $header_name"
-		clean_up_and_exit -d "$tmp_dir" $status_code
 	fi
 
 	# get the Content-Length response header
@@ -369,7 +369,6 @@ parse_compressed_response () {
 	status_code=$?
 	if [ $status_code -ne 0 ]; then
 		print_log_message -E "$script_name: get_header_value failed ($status_code) to parse response header: $header_name"
-		clean_up_and_exit -d "$tmp_dir" $status_code
 	fi
 
 	# get the Content-Type response header
@@ -378,7 +377,6 @@ parse_compressed_response () {
 	status_code=$?
 	if [ $status_code -ne 0 ]; then
 		print_log_message -E "$script_name: get_header_value failed ($status_code) to parse response header: $header_name"
-		clean_up_and_exit -d "$tmp_dir" $status_code
 	fi
 
 	# get the Content-Encoding response header
@@ -387,8 +385,9 @@ parse_compressed_response () {
 	status_code=$?
 	if [ $status_code -ne 0 ]; then
 		print_log_message -E "$script_name: get_header_value failed ($status_code) to parse response header: $header_name"
-		clean_up_and_exit -d "$tmp_dir" $status_code
 	fi
+	
+	return 0
 }
 
 test_compressed_response () {
@@ -396,15 +395,16 @@ test_compressed_response () {
 	local status_code
 
 	# was the response actually compressed?
-	success=true
 	if [ "$response_code" -ne 200 ]; then
-		print_log_message -E "$script_name: unexpected response ($response_code) on resource: $location"
+		success=false
 		message="Unexpected response code: $response_code"
-		return
+		print_log_message -E "$script_name: unexpected response ($response_code) on resource: $location"
+		return 0
 	elif [ -z "$content_encoding" ]; then
-		print_log_message -E "$script_name: Content-Encoding response header not found"
+		success=false
 		message="Content-Encoding response header not found"
-		return
+		print_log_message -E "$script_name: Content-Encoding response header not found"
+		return 0
 	fi
 
 	# TODO: Check the cached resource for Content-Encoding response header
@@ -414,12 +414,16 @@ test_compressed_response () {
 	status_code=$?
 	if [ $status_code -eq 1 ]; then
 		# metadata must be cached
+		success=false
+		message="Uncompressed content not found"
 		print_log_message -E "$script_name: metadata file not cached: $location"
-		clean_up_and_exit -d "$tmp_dir" 1
+		return 0
 	fi
 	if [ $status_code -gt 1 ]; then
+		success=false
+		message="Request for uncompressed content failed"
 		print_log_message -E "$script_name: conditional_get failed ($status_code) on location: $location"
-		clean_up_and_exit -d "$tmp_dir" $status_code
+		return 0
 	fi
 
 	# compare the compressed and uncompressed content
@@ -427,22 +431,35 @@ test_compressed_response () {
 	/usr/bin/diff -q $compressed_content $uncompressed_content
 	status_code=$?
 	if [ $status_code -ne 0 ]; then
+		success=false
+		message="Integrity of compressed metadata NOT confirmed"
 		print_log_message -C "$script_name: diff failed ($status_code) on resource: $location"
-		clean_up_and_exit -d "$tmp_dir" 3
+		return 0
 	fi
+	print_log_message -D "$script_name: compressed and uncompressed resources are identical"
+	
+	# success
 	message="Integrity of compressed metadata confirmed"
+	return 0
 }
 
 print_output_file () {
 
+	local status_code
+
 	# begin output list
 	printf "[\n"
 
 	while true; do
 	
+		success=true
+		
 		get_compressed_response "$1"
-		parse_compressed_response
-		test_compressed_response
+		status_code=$?
+		if [ $status_code -eq 0 ]; then
+			parse_compressed_response
+			test_compressed_response
+		fi
 		append_json_object
 		
 		shift; (( "$#" )) || break