diff --git a/drivers/acpi/parser/psparse.c b/drivers/acpi/parser/psparse.c
index 3677130..3248051 100644
--- a/drivers/acpi/parser/psparse.c
+++ b/drivers/acpi/parser/psparse.c
@@ -438,6 +438,7 @@
 acpi_status acpi_ps_parse_aml(struct acpi_walk_state *walk_state)
 {
 	acpi_status status;
+	acpi_status terminate_status;
 	struct acpi_thread_state *thread;
 	struct acpi_thread_state *prev_walk_list = acpi_gbl_current_walk_list;
 	struct acpi_walk_state *previous_walk_state;
@@ -507,9 +508,6 @@
 						 walk_state->method_node, NULL,
 						 status);
 
-			/* Make sure that failed method will be cleaned as if it was executed */
-			walk_state->parse_flags |= ACPI_PARSE_EXECUTE;
-			
 			/* Check for possible multi-thread reentrancy problem */
 
 			if ((status == AE_ALREADY_EXISTS) &&
@@ -526,6 +524,14 @@
 			}
 		}
 
+		if (walk_state->method_desc) {
+			/* Decrement the thread count on the method parse tree */
+
+			if (walk_state->method_desc->method.thread_count) {
+				walk_state->method_desc->method.thread_count--;
+			}
+		}
+
 		/* We are done with this walk, move on to the parent if any */
 
 		walk_state = acpi_ds_pop_walk_state(thread);
@@ -540,10 +546,13 @@
 		 */
 		if ((walk_state->parse_flags & ACPI_PARSE_MODE_MASK) ==
 		    ACPI_PARSE_EXECUTE) {
-			if (walk_state->method_desc) {
-				walk_state->method_desc->method.thread_count--;
+			terminate_status =
+			    acpi_ds_terminate_control_method(walk_state);
+			if (ACPI_FAILURE(terminate_status)) {
+				ACPI_REPORT_ERROR(("Could not terminate control method properly\n"));
+
+				/* Ignore error and continue */
 			}
-			acpi_ds_terminate_control_method (walk_state);
 		}
 
 		/* Delete this walk state and all linked control states */
