diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/OrphanedFolderListener.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/OrphanedFolderListener.java
index d2fe073..93407ed 100644
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/OrphanedFolderListener.java
+++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/OrphanedFolderListener.java
@@ -13,6 +13,8 @@
 import org.eclipse.team.ccvs.core.ICVSFile;
 import org.eclipse.team.ccvs.core.ICVSFolder;
 import org.eclipse.team.internal.ccvs.core.CVSException;
+import org.eclipse.team.internal.ccvs.core.Policy;
+import org.eclipse.team.internal.ccvs.core.client.Session;
 import org.eclipse.team.internal.ccvs.core.resources.CVSWorkspaceRoot;
 import org.eclipse.team.internal.ccvs.core.syncinfo.ResourceSyncInfo;
 
@@ -56,11 +58,35 @@
 	}
 	
 	/*
+	 * Handle the case where an added file has the same name as a "cvs removed" file
+	 * by restoring the sync info to what it was before the delete
+	 */
+	private void handleReplacedDeletion(IResource resource) {
+		if (resource.getType() == IResource.FILE) {
+			try {
+				ICVSFile mFile = CVSWorkspaceRoot.getCVSFileFor((IFile)resource);
+				if (mFile.isManaged()) {
+					ResourceSyncInfo info = mFile.getSyncInfo();
+					if (info.isDeleted()) {
+						mFile.setSyncInfo(new ResourceSyncInfo(info.getName(), info.getRevision(), info.getTimeStamp(), info.getKeywordMode(), info.getTag(), info.getPermissions()));
+					}
+				}
+			} catch (CVSException e) {
+				CVSProviderPlugin.log(e);
+			}
+		}
+	}
+	
+	/*
 	 * @see ResourceDeltaVisitor#handleAdded(IResource[])
 	 */
 	protected void handleAdded(IResource[] resources) {
 		for (int i = 0; i < resources.length; i++) {
-			handleOrphanedSubtree(resources[i]);
+			if (resources[i].getType() == IResource.FOLDER) {
+				handleOrphanedSubtree(resources[i]);
+			} else if (resources[i].getType() == IResource.FILE) {
+				handleReplacedDeletion(resources[i]);
+			}
 		}
 	}
 
