diff --git a/includes/webform.webformconditionals.inc b/includes/webform.webformconditionals.inc
index 92d5dca..3053787 100644
--- a/includes/webform.webformconditionals.inc
+++ b/includes/webform.webformconditionals.inc
@@ -341,6 +341,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) {
         
@@ -381,6 +386,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;
+          }
+
           $conditional_results[] = $comparison_callback($source_values, $rule['value'], $source_component);
 
           // Record page number to later determine any intra-page dependency on this source.
