diff --git a/webform.module b/webform.module
index 90ef84b..5749fb4 100644
--- a/webform.module
+++ b/webform.module
@@ -2976,11 +2976,15 @@ function webform_client_form_pages($form, &$form_state) {
 
   // Assume the form is completed unless the page logic says otherwise.
   $form_state['webform_completed'] = TRUE;
+  // ... but not if we know we are autosaving.
+  if ($form_state['values']['op'] === '__AUTOSAVE__') {
+    $form_state['webform_completed'] = FALSE;
+  }
 
   // Check for a multi-page form that is not yet complete.
   $submit_op = !empty($form['actions']['submit']['#value']) ? $form['actions']['submit']['#value'] : t('Submit');
   $draft_op = !empty($form['actions']['draft']['#value']) ? $form['actions']['draft']['#value'] : t('Save Draft');
-  if (!in_array($form_state['values']['op'], array($submit_op, $draft_op))) {
+  if (!in_array($form_state['values']['op'], array($submit_op, $draft_op, '__AUTOSAVE__'))) {
     // Store values from the current page in the form state storage.
     if (is_array($form_state['values']['submitted'])) {
       foreach ($form_state['values']['submitted'] as $key => $val) {
