diff --git a/rts/CloneStack.c b/rts/CloneStack.c
index c4fbbd00b277544ba97a9de8e4c64d72b8c02d74..9d474bfa196a134608026b5ff2779ade315c6ffc 100644
--- a/rts/CloneStack.c
+++ b/rts/CloneStack.c
@@ -196,6 +196,9 @@ void copyPtrsToArray(Capability *cap, StgMutArrPtrs* arr, StgStack* stack) {
       index++;
     }
 
+    // Ensure that we didn't overflow the result array
+    ASSERT(index-1 < arr->ptrs);
+
     // check whether the stack ends in an underflow frame
     StgUnderflowFrame *frame = (StgUnderflowFrame *) (last_stack->stack
       + last_stack->stack_size - sizeofW(StgUnderflowFrame));