Index: kernel/generic/src/mm/reserve.c
===================================================================
--- kernel/generic/src/mm/reserve.c	(revision 8bdcffa853c11b32f7445df1a38ecc63fec8d0e3)
+++ kernel/generic/src/mm/reserve.c	(revision 19c8030aa03b9b926a3921990ca641214407337c)
@@ -42,4 +42,7 @@
 #include <typedefs.h>
 #include <arch/types.h>
+#include <debug.h>
+
+static bool reserve_initialized = false;
 
 IRQ_SPINLOCK_STATIC_INITIALIZE_NAME(reserve_lock, "reserve_lock");
@@ -54,4 +57,5 @@
 {
 	reserve = frame_total_free_get();
+	reserve_initialized = true;
 }
 
@@ -67,4 +71,6 @@
 {
 	bool reserved = false;
+
+	ASSERT(reserve_initialized);
 
 	irq_spinlock_lock(&reserve_lock, true);
@@ -111,4 +117,7 @@
 void reserve_force_alloc(size_t size)
 {
+	if (!reserve_initialized)
+		return;
+
 	irq_spinlock_lock(&reserve_lock, true);
 	reserve -= size;
@@ -122,4 +131,7 @@
 void reserve_free(size_t size)
 {
+	if (!reserve_initialized)
+		return;
+
 	irq_spinlock_lock(&reserve_lock, true);
 	reserve += size;
