diff --git a/functions/fw_builder_public_ips.pp b/functions/fw_builder_public_ips.pp
index 4dc000d9ee4bbb3b1925e7d9047dd796706db659..9b4cc7ec5757c5ac4ea7c2ff94d489cc842306c6 100644
--- a/functions/fw_builder_public_ips.pp
+++ b/functions/fw_builder_public_ips.pp
@@ -28,29 +28,25 @@ function fw_builder::fw_builder_public_ips(
   if $facts_fw_conf =~ Undef or $facts_ipsets =~ Undef {
     $public_ipsets = []
   # if public is empty it's seen as empty string
-  } elsif $facts_fw_conf['public'] =~ String {
+  } elsif $facts_fw_conf['public'] =~ String or  $facts_fw_conf['public'] =~ Undef {
+    warning('fw_builder public key exists but it\'s empty')
     $public_ipsets = []
   } else {
     # if public is present and contains some value
     if 'public' in $facts_fw_conf {
 
-      if $facts_fw_conf['public'] =~ Undef {
-        warning('fw_builder public key exists but it\'s empty')
-        $public_ipsets = []
-      } else {
-        $facts_fw_conf_public = $facts_fw_conf['public']
+      $facts_fw_conf_public = $facts_fw_conf['public']
 
-        # create a list of lists with all the ipsets in public
-        $unflattened_public_ipsets = $facts_fw_conf_public.map |$app_key, $app_value| {
-          if 'ipset' in keys($facts_fw_conf_public[$app_key]) {
-            $facts_fw_conf_public[$app_key]['ipset']
-          }
+      # create a list of lists with all the ipsets in public
+      $unflattened_public_ipsets = $facts_fw_conf_public.map |$app_key, $app_value| {
+        if 'ipset' in keys($facts_fw_conf_public[$app_key]) {
+          $facts_fw_conf_public[$app_key]['ipset']
         }
-
-        # flatten the list of list into a list with unique elements, and remove any Undef
-        $public_ipsets_with_undef = unique(flatten($unflattened_public_ipsets))
-        $public_ipsets = $public_ipsets_with_undef.filter |$item| { $item !~ Undef }
       }
+
+      # flatten the list of list into a list with unique elements, and remove any Undef
+      $public_ipsets_with_undef = unique(flatten($unflattened_public_ipsets))
+      $public_ipsets = $public_ipsets_with_undef.filter |$item| { $item !~ Undef }
     } else {
       $public_ipsets = []
     }