diff --git a/client/site_tests/autoupdate_LoginStartUpdateLogout/autoupdate_LoginStartUpdateLogout.py b/client/site_tests/autoupdate_LoginStartUpdateLogout/autoupdate_LoginStartUpdateLogout.py
index 94ba0e3..48c964e 100644
--- a/client/site_tests/autoupdate_LoginStartUpdateLogout/autoupdate_LoginStartUpdateLogout.py
+++ b/client/site_tests/autoupdate_LoginStartUpdateLogout/autoupdate_LoginStartUpdateLogout.py
@@ -8,7 +8,7 @@
 
 class autoupdate_LoginStartUpdateLogout(update_engine_test.UpdateEngineTest):
     """
-    Logs in, starts an update, waits for a while, then logs out.
+    Logs in, starts an update, then logs out.
 
     This test is used as part of the server test autoupdate_Interruptions.
 
@@ -18,22 +18,20 @@
     def run_once(self, update_url, progress_to_complete, full_payload=True,
                  interrupt_network=False):
         """
-        Login, start an update, wait for the update progress to reach the
-        given progress, and logout. If specified, this test will also
-        disconnect the internet upon reaching the target update progress,
+        Login, start an update, and logout. If specified, this test will also
+        disconnect the internet upon reaching a target update progress,
         wait a while, and reconnect the internet before logging out.
 
         @param update_url: The omaha url to call.
-        @param progress_to_complete: The update progress to wait for before
-                                     logging out. If interrupt_network is
+        @param progress_to_complete: If interrupt_network is
                                      True, the internet will be disconnected
                                      when the update reaches this progress.
                                      This should be a number between 0 and 1.
         @param full_payload: True for a full payload. False for delta.
         @param interrupt_network: True to cause a network interruption when
                                   update progress reaches
-                                  progress_to_complete. False to logout
-                                  normally after reaching that progress.
+                                  progress_to_complete. False to logout after
+                                  the update starts.
 
         """
         # Login as regular user. Start an update. Then Logout
@@ -51,5 +49,3 @@
                 if not self._update_continued_where_it_left_off(completed):
                     raise error.TestFail('The update did not continue where '
                                          'it left off after interruption.')
-            else:
-                self._wait_for_progress(progress_to_complete)
diff --git a/server/site_tests/autoupdate_Interruptions/autoupdate_Interruptions.py b/server/site_tests/autoupdate_Interruptions/autoupdate_Interruptions.py
index 31c6660..55b8708 100644
--- a/server/site_tests/autoupdate_Interruptions/autoupdate_Interruptions.py
+++ b/server/site_tests/autoupdate_Interruptions/autoupdate_Interruptions.py
@@ -54,8 +54,10 @@
 
         if interrupt in ['reboot', 'suspend']:
             if self._is_update_finished_downloading():
-                raise error.TestFail('Update finished before %s '
-                                     'interrupt started.' % interrupt)
+                raise error.TestFail(
+                    'Update finished before %s interrupt started. Interrupt '
+                    'was supposed to be at %f' % (interrupt, progress))
+            self._wait_for_progress(progress)
             completed = self._get_update_progress()
             if interrupt is 'reboot':
                 self._host.reboot()
@@ -67,7 +69,9 @@
                 self._suspend_then_resume()
 
             if self._is_update_engine_idle():
-                raise error.TestFail('The update was IDLE after interrupt.')
+                raise error.TestFail(
+                    'The update was IDLE after interrupt. Last error: %s' %
+                    self._get_last_error_string())
             if not self._update_continued_where_it_left_off(
                 completed, reboot_interrupt=interrupt is 'reboot'):
                 raise error.TestFail('The update did not continue where it '
