import android.content.Intent;
  
  import com.owncloud.android.Log_OC;
 -import com.owncloud.android.datamodel.DataStorageManager;
 +import com.owncloud.android.datamodel.FileDataStorageManager;
  import com.owncloud.android.datamodel.OCFile;
  import com.owncloud.android.files.services.FileDownloader;
  import com.owncloud.android.files.services.FileUploader;
      
      private OCFile mLocalFile;
      private OCFile mServerFile;
 -    private DataStorageManager mStorageManager;
 +    private FileDataStorageManager mStorageManager;
      private Account mAccount;
      private boolean mSyncFileContents;
      private boolean mLocalChangeAlreadyKnown;
      public SynchronizeFileOperation(
              OCFile localFile,
              OCFile serverFile,          // make this null to let the operation checks the server; added to reuse info from SynchronizeFolderOperation 
 -            DataStorageManager storageManager, 
 +            FileDataStorageManager storageManager, 
              Account account, 
              boolean syncFileContents,
              boolean localChangeAlreadyKnown, 
                          // TODO this will be always true after the app is upgraded to database version 2; will result in unnecessary uploads
                
                      /// decide action to perform depending upon changes
-                     if (localChanged && serverChanged) {
+                     if (!mLocalFile.getEtag().isEmpty() && localChanged && serverChanged) {
                          result = new RemoteOperationResult(ResultCode.SYNC_CONFLICT);
                    
                      } else if (localChanged) {