diff --git a/lib/modules/ADT.pmod/struct.pike b/lib/modules/ADT.pmod/struct.pike
index 688b8e747e198dd4d9056c485ec831395222df60..1aac17af943e20e040150a16fc503baa992f0c0a 100644
--- a/lib/modules/ADT.pmod/struct.pike
+++ b/lib/modules/ADT.pmod/struct.pike
@@ -1,4 +1,4 @@
-/* $Id: struct.pike,v 1.3 1998/02/11 01:48:14 mirar Exp $
+/* $Id: struct.pike,v 1.4 1998/02/11 01:53:13 mirar Exp $
  *
  * Read and write structures from strings.
  */
@@ -52,18 +52,21 @@ void put_var_array(array(int) data, int item_size, int len)
   put_fix_array(data, item_size);
 }
 
-#if constant(Gmp.mpz)
 mixed get_int(int len)
 {
   mixed i;
   if ( (strlen(buffer) - index) < len)
     throw( ({ "ADT.struct->get_int: no data\n", backtrace() }) );
+#if constant(Gmp.mpz)
   if (len <= 3)
   {
+#endif
     sscanf(buffer, "%*" + (string) index +"s%" + (string) len + "c", i);
+#if constant(Gmp.mpz)
   }
   else
     i = Gmp.mpz(buffer[index .. index+len-1], 256);
+#endif
   index += len;
   return i;
 }
@@ -96,7 +99,6 @@ array(mixed) get_var_array(int item_size, int len)
 {
   return get_fix_array(item_size, get_int(len));
 }
-#endif
 
 int is_empty()
 {