diff --git a/jujupy.py b/jujupy.py
index <HASH>..<HASH> 100644
--- a/jujupy.py
+++ b/jujupy.py
@@ -39,7 +39,6 @@ from utility import (
     is_ipv6_address,
     JujuResourceTimeout,
     pause,
-    print_now,
     quote,
     scoped_environ,
     split_address_port,
@@ -1322,18 +1321,17 @@ class EnvJujuClient:
                     states.setdefault(status, []).append(machine)
                 if states.keys() == [desired_state]:
                     if len(states.get(desired_state, [])) >= 3:
-                        # XXX sinzui 2014-12-04: bug 1399277 happens because
-                        # juju claims HA is ready when the monogo replica sets
-                        # are not. Juju is not fully usable. The replica set
-                        # lag might be 5 minutes.
-                        print_now('\n')
-                        self._backend.pause(300)
-                        return
+                        break
                 reporter.update(states)
             else:
                 raise Exception('Timed out waiting for voting to be enabled.')
         finally:
             reporter.finish()
+        # XXX sinzui 2014-12-04: bug 1399277 happens because
+        # juju claims HA is ready when the monogo replica sets
+        # are not. Juju is not fully usable. The replica set
+        # lag might be 5 minutes.
+        self._backend.pause(300)
 
     def wait_for_deploy_started(self, service_count=1, timeout=1200):
         """Wait until service_count services are 'started'.
Break from the look in wait_for_ha so that reporter.finish is always called before pause.