diff --git a/webform_rules.rules.inc b/webform_rules.rules.inc
index 11f834e..a6d7bc6 100644
--- a/webform_rules.rules.inc
+++ b/webform_rules.rules.inc
@@ -222,27 +222,26 @@ function webform_rules_rules_data_info() {
  * Compare the form id of the submitted webform with the selected form.
  */
 function webform_rules_condition_data_nid($submission, $selection, $settings, $state, $condition, $op) {
-  $first_key = key($submission);
-  if (empty($submission) || !$submission[$first_key]->nid) {
-    drupal_set_message('No submission found!','error');
+  if (empty($submission)) {
     return FALSE;
   }
-  if (is_array($selection)) {
-    if(!empty($selection['webform-client-form-' . $submission[$first_key]->nid])){
-      return TRUE;
-    }else{
-      drupal_set_message('Submission is not in webform!','error');
-      return FALSE;
-    }
+
+  if (is_array($submission) && count($submission)) {
+    $first_key = key($submission);
+    $form_id = 'webform-client-form-' . $submission[$first_key]->nid;
   }
-  elseif (is_string($selected_webform)) {
-    if('webform-client-form-' . $submission[$first_key]->nid == $selection){
-      return TRUE;
-    }else{
-      drupal_set_message('Submission is not in webform(string)!','error');
-      return FALSE;
-    }
+  elseif (is_object($submission) && isset($submission->nid)) {
+    $form_id = 'webform-client-form-' . $submission->nid;
   }
+
+  if (is_string($selection) && ($selection === $form_id)) {
+    return TRUE;
+  }
+
+  if (!empty($selection[$form_id])) {
+    return TRUE;
+  }
+
   return FALSE;
 }
 
