| Index: sync/internal_api/sync_rollback_manager_base.cc | 
| diff --git a/sync/internal_api/sync_rollback_manager_base.cc b/sync/internal_api/sync_rollback_manager_base.cc | 
| index 6f0e5340f1d4e37d68d73ff63a1912bb4b3f630b..28afb8b54d06009f2d2848188ea3f11e468f85aa 100644 | 
| --- a/sync/internal_api/sync_rollback_manager_base.cc | 
| +++ b/sync/internal_api/sync_rollback_manager_base.cc | 
| @@ -43,7 +43,8 @@ namespace syncer { | 
| SyncRollbackManagerBase::SyncRollbackManagerBase() | 
| : report_unrecoverable_error_function_(NULL), | 
| weak_ptr_factory_(this), | 
| -      dummy_handler_(new DummyEntryptionHandler) { | 
| +      dummy_handler_(new DummyEntryptionHandler), | 
| +      initialized_(false) { | 
| } | 
|  | 
| SyncRollbackManagerBase::~SyncRollbackManagerBase() { | 
| @@ -77,6 +78,7 @@ void SyncRollbackManagerBase::Init( | 
| return; | 
| } | 
|  | 
| +  initialized_ = true; | 
| NotifyInitializationSuccess(); | 
| } | 
|  | 
| @@ -151,10 +153,11 @@ void SyncRollbackManagerBase::SaveChanges() { | 
| } | 
|  | 
| void SyncRollbackManagerBase::ShutdownOnSyncThread() { | 
| -  if (share_.directory) { | 
| +  if (initialized_) { | 
| SaveChanges(); | 
| share_.directory->Close(); | 
| share_.directory.reset(); | 
| +    initialized_ = false; | 
| } | 
| } | 
|  | 
|  |