diff --git a/ggsn/ggsn.c b/ggsn/ggsn.c
index a9d7e4f..0728261 100644
--- a/ggsn/ggsn.c
+++ b/ggsn/ggsn.c
@@ -328,9 +328,10 @@
   }
 
   /* DNS1 and DNS2 */
+#ifndef HAVE_INET_ATON
   dns1.s_addr = 0;
   if (args_info.pcodns1_arg) {
-    if (0 >= inet_pton(AF_INET, args_info.pcodns1_arg, &dns1)) {
+    if (0 == inet_aton(args_info.pcodns1_arg, &dns1)) {
       sys_err(LOG_ERR, __FILE__, __LINE__, 0,
 	      "Failed to convert pcodns1!");
       exit(1);
@@ -338,12 +339,37 @@
   }
   dns2.s_addr = 0;
   if (args_info.pcodns2_arg) {
-    if (0 >= inet_pton(AF_INET, args_info.pcodns2_arg, &dns2)) {
+    if (0 == inet_aton(args_info.pcodns2_arg, &dns2)) {
       sys_err(LOG_ERR, __FILE__, __LINE__, 0,
 	      "Failed to convert pcodns2!");
       exit(1);
     }
   }
+#else
+#ifndef HAVE_INET_ADDR
+  dns1.s_addr = 0;
+  if (args_info.pcodns1_arg) {
+    dns1 = inet_addr(args_info.pcodns1_arg);
+    if (dns1.s_addr == INADDR_NONE)  {
+      sys_err(LOG_ERR, __FILE__, __LINE__, 0,
+	      "Failed to convert pcodns1!");
+      exit(1);
+    }
+  }
+  dns2.s_addr = 0;
+  if (args_info.pcodns2_arg) {
+    dns2 = inet_addr(args_info.pcodns2_arg);
+    if (dns2.s_addr == INADDR_NONE) {
+      sys_err(LOG_ERR, __FILE__, __LINE__, 0,
+	      "Failed to convert pcodns2!");
+      exit(1);
+    }
+  }
+#else
+#error Function missing!
+#endif
+#endif
+
 
   pco.l = 20;
   pco.v[0] = 0x80; /* x0000yyy x=1, yyy=000: PPP */
