diff --git a/webform_rules.rules.inc b/webform_rules.rules.inc
index 11f834e..1fecfab 100644
--- a/webform_rules.rules.inc
+++ b/webform_rules.rules.inc
@@ -102,6 +102,20 @@ function webform_rules_rules_condition_info() {
       'group' => t('Webform'),
       'base' => 'webform_rules_condition_data_nid',
     ),
+    'webform_submission_is_complete' => array(
+      'label' => t('Webform submission is complete'),
+      'parameter' => array(
+        'sid' => array(
+          'type' => 'integer',
+          'label' => t('Submission ID'),
+          'description' => t('The ID of a webform submission.'),
+          'optional' => FALSE,
+        ),
+      ),
+      'help' => t('This condition verifies that a webform submission has been completed.'),
+      'group' => t('Webform'),
+      'base' => 'webform_rules_condition_submission_is_complete',
+    ),
   );
 }
 
@@ -351,6 +365,21 @@ function webform_rules_condition_node_is_webform($node) {
   return FALSE;
 }
 
+/**
+ * Condition callback to determine if submission is complete.
+ */
+function webform_rules_condition_submission_is_complete($sid) {
+  module_load_include('inc', 'webform', 'includes/webform.submissions');
+  $filters = array(
+    'sid' => $sid,
+  );
+  $submissions = webform_get_submissions($filters);
+  if (empty($submissions[$sid])) {
+    return FALSE;
+  }
+  return !empty($submissions[$sid]->completed);
+}
+
 /**
  * Rules action callback to open webforms.
  */
