diff --git a/snmp_conf_manager.cpp b/snmp_conf_manager.cpp
index 73e2544..cefce85 100644
--- a/snmp_conf_manager.cpp
+++ b/snmp_conf_manager.cpp
@@ -74,15 +74,6 @@
                               Argument::ARGUMENT_VALUE(address.c_str()));
     }
 
-    unsigned char buf[sizeof(struct in6_addr)];
-    int isValid = inet_pton(AF_INET, address.c_str(), buf);
-    if (isValid < 1)
-    {
-        log<level::ERR>("Invalid address");
-        elog<InvalidArgument>(Argument::ARGUMENT_NAME("ADDRESS"),
-                              Argument::ARGUMENT_VALUE(address.c_str()));
-    }
-
     for (const auto& val : clients)
     {
         if (val.second.get()->address() == address &&
diff --git a/snmp_util.cpp b/snmp_util.cpp
index e09a32b..3d5dad9 100644
--- a/snmp_util.cpp
+++ b/snmp_util.cpp
@@ -72,6 +72,25 @@
         elog<InternalFailure>();
     }
 
+    unsigned char buf[sizeof(struct in6_addr)];
+    int isValid = inet_pton(AF_INET, ipaddress, buf);
+    if (isValid < 0)
+    {
+        log<level::ERR>("Invalid address",
+                        entry("ADDRESS=%s", address.c_str()));
+        elog<InternalFailure>();
+    }
+    if (isValid == 0)
+    {
+        int isValid6 = inet_pton(AF_INET6, ipaddress, buf);
+        if (isValid6 < 1)
+        {
+            log<level::ERR>("Invalid address",
+                            entry("ADDRESS=%s", address.c_str()));
+            elog<InternalFailure>();
+        }
+    }
+
     return ipaddress;
 }
 
