diff --git a/includes/webform.conditionals.inc b/includes/webform.conditionals.inc
index 1fc24b968..c597c943f 100644
--- a/includes/webform.conditionals.inc
+++ b/includes/webform.conditionals.inc
@@ -1425,6 +1425,9 @@ function webform_conditional_prepare_javascript($node, array $submission_data, $
   $conditionals = $node->webform['conditionals'];
   $components = $node->webform['components'];
   $topological_order = webform_get_conditional_sorter($node)->getOrder();
+  if (empty($topological_order[$page_num])) {
+    return $settings;
+  }
   foreach ($topological_order[$page_num] as $conditional_spec) {
     $conditional = $conditionals[$conditional_spec['rgid']];
     $rgid_key = 'rgid_' . $conditional['rgid'];
diff --git a/includes/webform.webformconditionals.inc b/includes/webform.webformconditionals.inc
index 39db0695e..162ae5ef3 100644
--- a/includes/webform.webformconditionals.inc
+++ b/includes/webform.webformconditionals.inc
@@ -375,9 +375,11 @@ class WebformConditionals {
       $this->markupMap = $this->requiredMap;
     }
     else {
-      array_walk($this->visibilityMap[$page_num], function (&$status) {
-        $status = WebformConditionals::componentShown;
-      });
+      if (!empty($this->visibilityMap[$page_num])) {
+        array_walk($this->visibilityMap[$page_num], function (&$status) {
+          $status = WebformConditionals::componentShown;
+        });
+      }
       $this->requiredMap[$page_num] = array();
       $this->setMap[$page_num] = array();
       $this->markupMap[$page_num] = array();
@@ -393,6 +395,9 @@ class WebformConditionals {
     $first_page = $page_num ? $page_num : 1;
     $last_page = $page_num ? $page_num : count($this->topologicalOrder);
     for ($page = $first_page; $page <= $last_page; $page++) {
+      if (empty($this->topologicalOrder[$page])) {
+        continue;
+      }
       foreach ($this->topologicalOrder[$page] as $conditional_spec) {
 
         $conditional = $conditionals[$conditional_spec['rgid']];
