diff --git a/includes/webform.webformconditionals.inc b/includes/webform.webformconditionals.inc
index 8aef99a..7ffda92 100644
--- a/includes/webform.webformconditionals.inc
+++ b/includes/webform.webformconditionals.inc
@@ -385,6 +385,11 @@ class WebformConditionals {
 
     $first_page = $page_num ? $page_num : 1;
     $last_page = $page_num ? $page_num : count($this->topologicalOrder);
+
+    // Get list of all loaded files.
+    $includes = get_included_files();
+    $root_path = DRUPAL_ROOT . drupal_get_path('module', 'webform');
+
     for ($page = $first_page; $page <= $last_page; $page++) {
       foreach ($this->topologicalOrder[$page] as $conditional_spec) {
         
@@ -422,6 +427,36 @@ class WebformConditionals {
               // without building it. It is possible that the component include file
               // hasn't been included yet. See #2529246.
               webform_component_include($source_component['type']);
+
+              // Load missing include files for conditional types.
+              switch($conditional_type) {
+                case 'string':
+                  // No additional files needed.
+                  break;
+                case 'numeric':
+                  $path = $root_path . 'components/number.inc';
+                  // If components/number.inc is not loaded, then load it.
+                  if(!in_array($path, $includes)) {
+                    module_load_include('inc', 'webform', 'components/number');
+                    $includes[] = $path;
+                  }
+                  break;
+                case 'select':
+                  $path = $root_path . 'components/select.inc';
+                  // If components/select.inc is not loaded, then load it.
+                  if(!in_array($path, $includes)) {
+                    module_load_include('inc', 'webform', 'components/select');
+                    $includes[] = $path;
+                  }
+                  break;
+                case 'date':
+                  // No additional files needed.
+                  break;
+                case 'time':
+                  // No additional files needed.
+                  break;
+              }   
+
               $this->executionStackAccumulate($comparison_callback($source_values, $rule['value'], $source_component));
 
               // Record page number to later determine any intra-page dependency on this source.
