| Index: sync/engine/syncer.cc | 
| diff --git a/sync/engine/syncer.cc b/sync/engine/syncer.cc | 
| index 9b1adb3791e0c84f5ea4a0c26d54a5f88a91cb5b..1be4c7a338932bd6a2e00672e12969c399bf9329 100644 | 
| --- a/sync/engine/syncer.cc | 
| +++ b/sync/engine/syncer.cc | 
| @@ -64,14 +64,17 @@ bool Syncer::NormalSyncShare(ModelTypeSet request_types, | 
| SyncSession* session) { | 
| HandleCycleBegin(session); | 
| VLOG(1) << "Downloading types " << ModelTypeSetToString(request_types); | 
| -  if (!DownloadAndApplyUpdates( | 
| -          session, | 
| -          base::Bind(&NormalDownloadUpdates, | 
| -                     session, | 
| -                     kCreateMobileBookmarksFolder, | 
| -                     request_types, | 
| -                     base::ConstRef(nudge_tracker)))) { | 
| -    return HandleCycleEnd(session); | 
| +  if (nudge_tracker.IsGetUpdatesRequired() || | 
| +      session->context()->ShouldFetchUpdatesBeforeCommit()) { | 
| +    if (!DownloadAndApplyUpdates( | 
| +            session, | 
| +            base::Bind(&NormalDownloadUpdates, | 
| +                       session, | 
| +                       kCreateMobileBookmarksFolder, | 
| +                       request_types, | 
| +                       base::ConstRef(nudge_tracker)))) { | 
| +      return HandleCycleEnd(session); | 
| +    } | 
| } | 
|  | 
| VLOG(1) << "Committing from types " << ModelTypeSetToString(request_types); | 
|  |