diff --git a/automation-tests/123done/pages/home.py b/automation-tests/123done/pages/home.py
index 59ff30b71c590f90aec84a39575832840f3a1d51..3467752035733244fb58c43ae14765aade8b48ab 100644
--- a/automation-tests/123done/pages/home.py
+++ b/automation-tests/123done/pages/home.py
@@ -61,6 +61,10 @@ class HomePage(Page):
 
     @property
     def logged_in_user_email(self):
+        WebDriverWait(self.selenium, self.timeout).until(
+            lambda s: self.is_element_visible(*self._logged_in_user_email_locator)and not \
+                      self.is_element_visible(*self._loading_spinner_locator),
+            "Timeout waiting for user's email to appear.")
         return self.selenium.find_element(*self._logged_in_user_email_locator).text
 
     def wait_for_user_login(self):
diff --git a/automation-tests/123done/tests/test_change_password.py b/automation-tests/123done/tests/test_change_password.py
index 344b67cabb599960a847b30dbd198a55cd777cae..2c6f01525ea2b774544be949dbea50cd3f998f3b 100644
--- a/automation-tests/123done/tests/test_change_password.py
+++ b/automation-tests/123done/tests/test_change_password.py
@@ -28,7 +28,7 @@ class TestChangePassword:
 
         # Load the BrowserID link from the email in the browser
         from browserid.pages.complete_registration import CompleteRegistration
-        CompleteRegistration(mozwebqa.selenium, email.verify_user_link)
+        CompleteRegistration(mozwebqa.selenium, mozwebqa.timeout, email.verify_user_link)
 
         mozwebqa.selenium.get(mozwebqa.server_base_url)
         from browserid.pages.account_manager import AccountManager
diff --git a/automation-tests/123done/tests/test_new_user.py b/automation-tests/123done/tests/test_new_user.py
index 832305c51fac89de8c480e927cafe240f48d29d3..96abd3b5552f7a813923bd4e59a26d1e98fd2c48 100644
--- a/automation-tests/123done/tests/test_new_user.py
+++ b/automation-tests/123done/tests/test_new_user.py
@@ -28,7 +28,6 @@ class TestNewAccount:
 
         # Load the BrowserID link from the email in the browser
         from browserid.pages.complete_registration import CompleteRegistration
-        complete_registration = CompleteRegistration(mozwebqa.selenium, email.verify_user_link)
+        complete_registration = CompleteRegistration(mozwebqa.selenium, mozwebqa.timeout, email.verify_user_link)
 
-        home_pg.go_to_home_page()
         Assert.equal(home_pg.logged_in_user_email, user['email'])
diff --git a/automation-tests/browserid/pages/complete_registration.py b/automation-tests/browserid/pages/complete_registration.py
index a08bec8299b543c8f2ed78792f00bfa3b938c7d4..acd9723b52b7a99525ec4296d587631dd7158b6c 100644
--- a/automation-tests/browserid/pages/complete_registration.py
+++ b/automation-tests/browserid/pages/complete_registration.py
@@ -18,14 +18,14 @@ class CompleteRegistration(Base):
     _finish_locator = (By.CSS_SELECTOR, 'div.submit > button')
     _thank_you_locator = (By.ID, 'congrats')
 
-    def __init__(self, mozwebqa, url, expect='redirect'):
+    def __init__(self, selenium, timeout, url, expect='redirect'):
         """
         class init method
         :Args:
         - url - the confirmation url from the email
         - expect - redirect/success/reset/verify (default redirect)
         """
-        Base.__init__(self, mozwebqa)
+        Base.__init__(self, selenium, timeout)
         print "the url" + url
         self.selenium.get(url)
 
diff --git a/automation-tests/browserid/tests/base.py b/automation-tests/browserid/tests/base.py
index 8adf6357ce14e817412fbad8532374c0df8309fa..e7408f625b2861700ebfec10539921714fab95df 100644
--- a/automation-tests/browserid/tests/base.py
+++ b/automation-tests/browserid/tests/base.py
@@ -40,10 +40,8 @@ class BaseTest(object):
         verify_url = re.search(BrowserID.VERIFY_URL_REGEX,
                                mail[0]['text']).group(0)
 
-        selenium.get(verify_url)
         from .. pages.complete_registration import CompleteRegistration
         complete_registration = CompleteRegistration(selenium,
-                                                     timeout,
-                                                     expect='success')
-        assert 'Thank you' in complete_registration.thank_you
+                                                     timeout, verify_url,
+                                                     expect='redirect')
         return user
diff --git a/automation-tests/browserid/tests/check_add_email.py b/automation-tests/browserid/tests/check_add_email.py
index 79e1e00f9be379298ef5a7654125f8a9736c8a92..b52bde2ee9126f5fbaf10d86c860eff24d5f6ebe 100644
--- a/automation-tests/browserid/tests/check_add_email.py
+++ b/automation-tests/browserid/tests/check_add_email.py
@@ -21,12 +21,15 @@ class TestSignIn(BaseTest):
         user = self.create_verified_user(mozwebqa.selenium, mozwebqa.timeout)
         user.additional_emails.append('%s_1@restmail.net' % user.id)
 
+        # log out
         mozwebqa.selenium.get('%s/' % mozwebqa.base_url)
         self.log_out(mozwebqa.selenium, mozwebqa.timeout)
-        mozwebqa.selenium.find_element_by_css_selector('#loggedout button').click()
 
+        # initiate add email
+        mozwebqa.selenium.find_element_by_css_selector('#loggedout button').click()
         from .. pages.sign_in import SignIn
         signin = SignIn(mozwebqa.selenium, mozwebqa.timeout, expect='returning')
+
         signin.click_add_another_email_address()
         signin.new_email = user.additional_emails[0]
         signin.click_add_new_email()
@@ -39,17 +42,14 @@ class TestSignIn(BaseTest):
         confirm_url = re.search(BrowserID.CONFIRM_URL_REGEX,
             mail[0]['text']).group(0)
 
-        mozwebqa.selenium.get(confirm_url)
         from .. pages.complete_registration import CompleteRegistration
         complete_registration = CompleteRegistration(mozwebqa.selenium,
-            mozwebqa.timeout,
-            expect='success')
-        assert 'Your address has been verified' in complete_registration.thank_you
+            mozwebqa.timeout, confirm_url, expect='redirect')
 
-        mozwebqa.selenium.get('%s/' % mozwebqa.base_url)
         self.log_out(mozwebqa.selenium, mozwebqa.timeout)
-        mozwebqa.selenium.find_element_by_css_selector('#loggedout button').click()
 
+        mozwebqa.selenium.find_element_by_css_selector('#loggedout button').click()
         signin = SignIn(mozwebqa.selenium, mozwebqa.timeout, expect='returning')
+
         assert user.additional_emails[0] in signin.emails
         assert signin.selected_email == user.additional_emails[0]
diff --git a/automation-tests/browserid/tests/check_reset_password.py b/automation-tests/browserid/tests/check_reset_password.py
index 6dced83572eded7d8ac17a8b7cdd173f22cd9f8e..78fe844a3592054db2c5c719b1d60c892fac5827 100644
--- a/automation-tests/browserid/tests/check_reset_password.py
+++ b/automation-tests/browserid/tests/check_reset_password.py
@@ -44,10 +44,7 @@ class TestSignIn(BaseTest):
 
         reset_url = re.search(BrowserID.RESET_URL_REGEX,
             mail[1]['text']).group(0)
-        mozwebqa.selenium.get(reset_url)
 
         from .. pages.complete_registration import CompleteRegistration
         complete_registration = CompleteRegistration(mozwebqa.selenium,
-            mozwebqa.timeout,
-            expect='success')
-        assert 'Your address has been verified!' in complete_registration.thank_you
+            mozwebqa.timeout, reset_url, expect='redirect')