diff --git a/webform_rules.module b/webform_rules.module
index e328022..95ea571 100644
--- a/webform_rules.module
+++ b/webform_rules.module
@@ -142,7 +142,12 @@ function webform_rules_rules_invoke_event($submission, $node, $op = 'insert') {
       rules_invoke_event('webform_rules_insert', $user, $node, $data, $form_id);
       break;
     case 'update':
-      rules_invoke_event('webform_rules_update', $user, $node, $data, $form_id);
+      if ($is_draft) {
+        rules_invoke_event('webform_rules_update_as_draft', $user, $node, $data, $form_id);
+      }
+      else {
+        rules_invoke_event('webform_rules_update', $user, $node, $data, $form_id);        
+      }
       break;
     case 'delete':
       rules_invoke_event('webform_rules_delete', $user, $node, $data, $form_id);
diff --git a/webform_rules.rules.inc b/webform_rules.rules.inc
index a0d4a76..45247a7 100644
--- a/webform_rules.rules.inc
+++ b/webform_rules.rules.inc
@@ -29,6 +29,12 @@ function webform_rules_rules_event_info() {
       'variables' => _webform_rules_event_variables(),
       'access callback' => 'rules_node_integration_access',
     ),
+    'webform_rules_update_as_draft' => array(
+      'label' => t('After a webform submission has been updated as a draft'),
+      'group' => t('Webform'),
+      'variables' => _webform_rules_event_variables(),
+      'access callback' => 'rules_node_integration_access',
+    ),     
     'webform_rules_update' => array(
       'label' => t('After a webform submission has been updated'),
       'group' => t('Webform'),
