diff --git a/config/cfgroot/network-functions.pl b/config/cfgroot/network-functions.pl
index 93b8190..9e50d7c 100644
--- a/config/cfgroot/network-functions.pl
+++ b/config/cfgroot/network-functions.pl
@@ -108,10 +108,14 @@ sub network_equal {
 	my $network1 = shift;
 	my $network2 = shift;
 
-	my $bin1 = &network2bin($network1);
-	my $bin2 = &network2bin($network2);
+	my @bin1 = &network2bin($network1);
+	my @bin2 = &network2bin($network2);
 
-	if ($bin1 eq $bin2) {
+	if(!defined $bin1 || !defined $bin2){
+		return undef;
+	}
+
+	if ($bin1[0] eq $bin2[0] && $bin1[1] eq $bin2[1]){
 		return 1;
 	}
 
@@ -132,6 +136,10 @@ sub network2bin($) {
 
 	my $address_bin = &ip2bin($address);
 	my $netmask_bin = &ip2bin($netmask);
+	
+	if (!defined $address_bin || !defined $netmask_bin){
+		return undef;
+	}
 
 	my $network_start = $address_bin & $netmask_bin;
 
@@ -457,7 +465,7 @@ sub testsuite() {
 	assert(!$result);
 
 	$result = &network_equal("192.168.0.1/24", "192.168.0.XXX/24");
-	assert($result);
+	assert(!$result);
 
 	$result = &ip_address_in_network("10.0.1.4", "10.0.0.0/8");
 	assert($result);
