diff --git a/app/controllers/admin/webservice_access.php b/app/controllers/admin/webservice_access.php
index 1ba8324c0b01edeb9c0c7aa955bdb1fea2c32c82..c994d151b61687ab2d3cf4ff139dcd96aac664f4 100644
--- a/app/controllers/admin/webservice_access.php
+++ b/app/controllers/admin/webservice_access.php
@@ -97,7 +97,7 @@ class Admin_WebserviceAccessController extends AuthenticatedController
                     continue;
                 }
                 list($ip_address, $mask) = explode('/', $ip);
-                if (!ip2long($ip_address) || ($mask && ($mask < 8 || $mask > 30))) {
+                if (!inet_pton($ip_address) || ($mask && ($mask < 0 || $mask > 128))) {
                     $msg['error'][] = sprintf(_("Der IP Bereich %s ist ungültig."), htmlready($ip));
                     unset($rule->ip_range[$key]);
                 }