diff --git a/src/interpret.h b/src/interpret.h
index d943d8636723023a309037094e1cdef11efd1763..90ebef149976834d772424d2daec6a6fc174f633 100644
--- a/src/interpret.h
+++ b/src/interpret.h
@@ -5,7 +5,7 @@
 \*/
 
 /*
- * $Id: interpret.h,v 1.40 2000/04/08 02:01:08 hubbe Exp $
+ * $Id: interpret.h,v 1.41 2000/05/06 22:31:28 hubbe Exp $
  */
 #ifndef INTERPRET_H
 #define INTERPRET_H
@@ -113,7 +113,7 @@ struct pike_frame
   {									\
     really_free_pike_frame(Pike_fp);						\
   }else{								\
-    DO_IF_DEBUG(if( Pike_fp->locals+Pike_fp->num_locals>Pike_sp) fatal("Stack failure in POP_PIKE_FRAME!\n"));                                                      \
+    DO_IF_DEBUG(if( Pike_fp->locals>Pike_sp || Pike_sp < Pike_fp->expendible) fatal("Stack failure in POP_PIKE_FRAME!\n"));                      \
     debug_malloc_touch(Pike_fp); \
     if(Pike_fp->num_locals)							\
     {									\