Index: libcfa/src/exception.c
===================================================================
--- libcfa/src/exception.c	(revision cfbc703dfdcd257acc2437311c5a25ee33932766)
+++ libcfa/src/exception.c	(revision b52abe09e566fb9c0f5bb6ff0da4ce67bdd511bb)
@@ -10,6 +10,6 @@
 // Created On       : Mon Jun 26 15:13:00 2017
 // Last Modified By : Andrew Beach
-// Last Modified On : Fri Mar 27 10:19:00 2020
-// Update Count     : 12
+// Last Modified On : Thr Apr 02 14:47:00 2020
+// Update Count     : 13
 //
 
@@ -53,10 +53,9 @@
 // Temperary global exception context. Does not work with concurency.
 struct exception_context_t {
-    struct __cfaehm_try_resume_node * top_resume;
-    struct __cfaehm_try_resume_node * current_resume;
-
-    exception_t * current_exception;
-    int current_handler_index;
-} static shared_stack = {NULL, NULL, NULL, 0};
+	struct __cfaehm_try_resume_node * top_resume;
+
+	exception_t * current_exception;
+	int current_handler_index;
+} static shared_stack = {NULL, NULL, 0};
 
 // Get the current exception context.
@@ -75,12 +74,11 @@
 	__cfaabi_dbg_print_safe("Throwing resumption exception\n");
 
-	struct __cfaehm_try_resume_node * original_head = context->current_resume;
-	struct __cfaehm_try_resume_node * current =
-		(original_head) ? original_head->next : context->top_resume;
+	struct __cfaehm_try_resume_node * original_head = context->top_resume;
+	struct __cfaehm_try_resume_node * current = context->top_resume;
 
 	for ( ; current ; current = current->next) {
-		context->current_resume = current;
+		context->top_resume = current->next;
 		if (current->handler(except)) {
-			context->current_resume = original_head;
+			context->top_resume = original_head;
 			return;
 		}
@@ -88,5 +86,5 @@
 
 	__cfaabi_dbg_print_safe("Unhandled exception\n");
-	context->current_resume = original_head;
+	context->top_resume = original_head;
 
 	// Fall back to termination:
