Index: kernel/generic/src/interrupt/interrupt.c
===================================================================
--- kernel/generic/src/interrupt/interrupt.c	(revision 1dbc43f1c037ded959f69e4b6346df8bf12e2431)
+++ kernel/generic/src/interrupt/interrupt.c	(revision 908bb9645ed022f8ccdcdfd80a4b312d622b76e9)
@@ -166,18 +166,17 @@
 }
 
-static NO_TRACE void fault_from_uspace_core(istate_t *istate, const char *fmt, va_list args)
-{
-	if (!TASK->silent_kill) {
-		printf("Task %s (%" PRIu64 ") killed due to an exception at "
-		    "program counter %p.\n", TASK->name, TASK->taskid,
-		    (void *) istate_get_pc(istate));
-	
-		istate_decode(istate);
-		stack_trace_istate(istate);
-	
-		printf("Kill message: ");
-		vprintf(fmt, args);
-		printf("\n");
-	}
+static NO_TRACE
+void fault_from_uspace_core(istate_t *istate, const char *fmt, va_list args)
+{
+	printf("Task %s (%" PRIu64 ") killed due to an exception at "
+	    "program counter %p.\n", TASK->name, TASK->taskid,
+	    (void *) istate_get_pc(istate));
+	
+	istate_decode(istate);
+	stack_trace_istate(istate);
+	
+	printf("Kill message: ");
+	vprintf(fmt, args);
+	printf("\n");
 	
 	task_kill_self(true);
Index: kernel/generic/src/mm/as.c
===================================================================
--- kernel/generic/src/mm/as.c	(revision 1dbc43f1c037ded959f69e4b6346df8bf12e2431)
+++ kernel/generic/src/mm/as.c	(revision 908bb9645ed022f8ccdcdfd80a4b312d622b76e9)
@@ -1363,4 +1363,6 @@
 int as_page_fault(uintptr_t page, pf_access_t access, istate_t *istate)
 {
+	int rc = AS_PF_FAULT;
+
 	if (!THREAD)
 		goto page_fault;
@@ -1423,5 +1425,6 @@
 	 * Resort to the backend page fault handler.
 	 */
-	if (area->backend->page_fault(area, page, access) != AS_PF_OK) {
+	rc = area->backend->page_fault(area, page, access);
+	if (rc != AS_PF_OK) {
 		page_table_unlock(AS, false);
 		mutex_unlock(&area->lock);
@@ -1444,4 +1447,8 @@
 		istate_set_retaddr(istate,
 		    (uintptr_t) &memcpy_to_uspace_failover_address);
+	} else if (rc == AS_PF_SILENT) {
+		printf("Killing task %" PRIu64 " due to a "
+		    "failed late reservation request.\n", TASK->taskid);
+		task_kill_self(true);
 	} else {
 		fault_if_from_uspace(istate, "Page fault: %p.", (void *) page);
Index: kernel/generic/src/mm/backend_anon.c
===================================================================
--- kernel/generic/src/mm/backend_anon.c	(revision 1dbc43f1c037ded959f69e4b6346df8bf12e2431)
+++ kernel/generic/src/mm/backend_anon.c	(revision 908bb9645ed022f8ccdcdfd80a4b312d622b76e9)
@@ -255,11 +255,6 @@
 			 * Reserve the memory for this page now.
 			 */
-			if (!reserve_try_alloc(1)) {
-				printf("Killing task %" PRIu64 " due to a "
-				    "failed late reservation request.\n",
-				    TASK->taskid);
-				TASK->silent_kill = true;
-				return AS_PF_FAULT;
-			}
+			if (!reserve_try_alloc(1))
+				return AS_PF_SILENT;
 		}
 
Index: kernel/generic/src/proc/task.c
===================================================================
--- kernel/generic/src/proc/task.c	(revision 1dbc43f1c037ded959f69e4b6346df8bf12e2431)
+++ kernel/generic/src/proc/task.c	(revision 908bb9645ed022f8ccdcdfd80a4b312d622b76e9)
@@ -197,6 +197,4 @@
 	task->kcycles = 0;
 
-	task->silent_kill = false;
-	
 	task->ipc_info.call_sent = 0;
 	task->ipc_info.call_received = 0;
