diff --git a/src/target/arm926ejs.c b/src/target/arm926ejs.c
index d5c4cabe4a5119e04f37f694bca39e4307280e26..4a711439472a2b249de07fa925f004ca6ead799c 100644
--- a/src/target/arm926ejs.c
+++ b/src/target/arm926ejs.c
@@ -360,20 +360,21 @@ int arm926ejs_examine_debug_reason(target_t *target)
 			 * openocd development mailing list if you have hardware
 			 * to donate to look into this problem....
 			 */
-			LOG_ERROR("mystery debug reason MOE = 0xc. Try issuing a resume + halt.");
+			LOG_WARNING("WARNING: mystery debug reason MOE = 0xc. Try issuing a resume + halt.");
 			target->debug_reason = DBG_REASON_DBGRQ;
-			retval = ERROR_TARGET_FAILURE;
 			break;
 		default:
-			LOG_ERROR("BUG: unknown debug reason: 0x%x", debug_reason);
+			LOG_WARNING("WARNING: unknown debug reason: 0x%x", debug_reason);
+			/* Oh agony! should we interpret this as a halt request or
+			 * that the target stopped on it's own accord?
+			 */
 			target->debug_reason = DBG_REASON_DBGRQ;
 			/* if we fail here, we won't talk to the target and it will
 			 * be reported to be in the halted state */
-			retval = ERROR_TARGET_FAILURE;
 			break;
 	}
 
-	return retval;
+	return ERROR_OK;
 }
 
 uint32_t arm926ejs_get_ttb(target_t *target)