Index: chrome/browser/ui/sync/one_click_signin_helper.cc |
diff --git a/chrome/browser/ui/sync/one_click_signin_helper.cc b/chrome/browser/ui/sync/one_click_signin_helper.cc |
index 6981ccf1118b0c6fb463c93b0118000bed01c60c..ec1e51ad363680f5a8b7e9cc427289979a825371 100644 |
--- a/chrome/browser/ui/sync/one_click_signin_helper.cc |
+++ b/chrome/browser/ui/sync/one_click_signin_helper.cc |
@@ -1263,11 +1263,14 @@ void OneClickSigninHelper::DidStopLoading( |
// default settings. |
// - If sign in was initiated from the settings page for first time sync |
// set up, show the advanced sync settings dialog. |
- // - If sign in was initiated from the settings page due to a re-auth, |
- // simply navigate back to the settings page. |
+ // - If sign in was initiated from the settings page due to a re-auth when |
+ // sync was already setup, simply navigate back to the settings page. |
+ ProfileSyncService* sync_service = |
+ ProfileSyncServiceFactory::GetForProfile(profile); |
OneClickSigninSyncStarter::StartSyncMode start_mode = |
source_ == signin::SOURCE_SETTINGS ? |
- SigninGlobalError::GetForProfile(profile)->HasMenuItem() ? |
+ (SigninGlobalError::GetForProfile(profile)->HasMenuItem() && |
+ sync_service && sync_service->HasSyncSetupCompleted()) ? |
OneClickSigninSyncStarter::SHOW_SETTINGS_WITHOUT_CONFIGURE : |
OneClickSigninSyncStarter::CONFIGURE_SYNC_FIRST : |
OneClickSigninSyncStarter::SYNC_WITH_DEFAULT_SETTINGS; |