diff --git a/src/program.c b/src/program.c
index e2f71b8aa64b9c2e7d213b99e23619c593444d74..2ef634b5cb13eb84d75ef0f89c5d97df1707aade 100644
--- a/src/program.c
+++ b/src/program.c
@@ -4,7 +4,7 @@
 ||| See the files COPYING and DISCLAIMER for more information.
 \*/
 #include "global.h"
-RCSID("$Id: program.c,v 1.52 1998/01/20 02:30:38 hubbe Exp $");
+RCSID("$Id: program.c,v 1.53 1998/01/22 00:51:04 grubba Exp $");
 #include "program.h"
 #include "object.h"
 #include "dynamic_buffer.h"
@@ -95,7 +95,7 @@ struct program *malloc_size_program=0;
 
 int compiler_pass;
 int compilation_depth;
-int local_class_counter;
+long local_class_counter;
 struct compiler_frame *compiler_frame=0;
 static INT32 last_line = 0;
 static INT32 last_pc = 0;
diff --git a/src/program.h b/src/program.h
index 6399d3581921e6eca4c96c9643ddaebb0b8d7cf9..7e2aee546425911ec87ea30cb620e7ffd933573f 100644
--- a/src/program.h
+++ b/src/program.h
@@ -218,7 +218,7 @@ extern struct object fake_object;
 extern struct program *new_program;
 extern struct program *first_program;
 extern int compiler_pass;
-extern int local_class_counter;
+extern long local_class_counter;
 
 #define FOO(NUMTYPE,TYPE,NAME) void PIKE_CONCAT(add_to_,NAME(TYPE ARG));
 #include "program_areas.h"