diff --git a/src/modules/system/system.c b/src/modules/system/system.c
index c87db71eba972a8895dbae41c84a621791004de5..34f123b6dcc3b57bd02998657f9f5b2620205fd5 100644
--- a/src/modules/system/system.c
+++ b/src/modules/system/system.c
@@ -1,5 +1,5 @@
 /*
- * $Id: system.c,v 1.53 1998/05/29 19:24:20 marcus Exp $
+ * $Id: system.c,v 1.54 1998/05/31 14:08:28 grubba Exp $
  *
  * System-call module for Pike
  *
@@ -14,7 +14,7 @@
 #include "system.h"
 
 #include "global.h"
-RCSID("$Id: system.c,v 1.53 1998/05/29 19:24:20 marcus Exp $");
+RCSID("$Id: system.c,v 1.54 1998/05/31 14:08:28 grubba Exp $");
 #ifdef HAVE_WINSOCK_H
 #include <winsock.h>
 #endif
@@ -81,6 +81,12 @@ RCSID("$Id: system.c,v 1.53 1998/05/29 19:24:20 marcus Exp $");
 #endif /* NGROUPS */
 #endif /* !NGROUPS_MAX */
 
+#ifdef HAVE_IN_ADDR_T
+#define IN_ADDR_T	in_addr_t
+#else /* !HAVE_IN_ADDR_T */
+#define IN_ADDR_T	unsigned int
+#endif /* HAVE_IN_ADDR_T */
+
 /*
  * Functions
  */
@@ -750,7 +756,7 @@ void get_inet_addr(struct sockaddr_in *addr,char *name)
   }
   else if(my_isipnr(name)) /* I do not entirely trust inet_addr */
   {
-    if (inet_addr(name) == (in_addr_t)-1)
+    if (((IN_ADDR_T)inet_addr(name)) == ((IN_ADDR_T)-1))
       error("Malformed ip number.\n");
 
     addr->sin_addr.s_addr = inet_addr(name);