diff --git a/webform.module b/webform.module
index da5b824..dbdb788 100644
--- a/webform.module
+++ b/webform.module
@@ -2555,6 +2555,10 @@ function _webform_client_form_rule_check($node, $component, $page_num, $input_va
         $source_values = array();
         if (isset($input_values[$source_cid])) {
           $component_value = $input_values[$source_cid];
+          // For select_or_other components, use only the select values because $source_values must not be a nested array.
+          if ($source_component['type'] === 'select' && !empty($source_component['extra']['other_option'])) {
+            $component_value = $component_value['select'];
+          }
           $source_values = is_array($component_value) ? $component_value : array($component_value);
         }
 
