diff --git a/src/program.c b/src/program.c
index 2da83ef00cc03901685a5e2b1a64b30494b735f2..75bbd8ab57c385f4cdf143752195b650363c9208 100644
--- a/src/program.c
+++ b/src/program.c
@@ -5,7 +5,7 @@
 \*/
 /**/
 #include "global.h"
-RCSID("$Id: program.c,v 1.344 2001/07/02 19:58:00 grubba Exp $");
+RCSID("$Id: program.c,v 1.345 2001/07/02 20:01:11 grubba Exp $");
 #include "program.h"
 #include "object.h"
 #include "dynamic_buffer.h"
@@ -1793,7 +1793,7 @@ void check_program(struct program *p)
 		    storage_offset +
 		    ID_FROM_INT(p, variable_positions[offset+q])->func.offset +
 		    sizeof_variable(ID_FROM_INT(p, variable_positions[offset+q]
-						)->run_time_type),
+						)->run_time_type)-1,
 		    offset, offset+size-1);
 	    } else {
 	      fatal("Variable '%s' and anonymous variable (%d) overlap\n"
@@ -1807,7 +1807,7 @@ void check_program(struct program *p)
 		    storage_offset +
 		    ID_FROM_INT(p, variable_positions[offset+q])->func.offset +
 		    sizeof_variable(ID_FROM_INT(p, variable_positions[offset+q]
-						)->run_time_type),
+						)->run_time_type)-1,
 		    offset, offset+size-1);
 	    }
 	  }