diff --git a/plugins/org.eclipse.oomph.p2.core/src/org/eclipse/oomph/p2/internal/core/CachingRepositoryManager.java b/plugins/org.eclipse.oomph.p2.core/src/org/eclipse/oomph/p2/internal/core/CachingRepositoryManager.java
index f5500a7..7892cde 100644
--- a/plugins/org.eclipse.oomph.p2.core/src/org/eclipse/oomph/p2/internal/core/CachingRepositoryManager.java
+++ b/plugins/org.eclipse.oomph.p2.core/src/org/eclipse/oomph/p2/internal/core/CachingRepositoryManager.java
@@ -49,6 +49,7 @@
 import org.eclipse.osgi.util.NLS;
 
 import java.io.File;
+import java.io.FileNotFoundException;
 import java.lang.reflect.Method;
 import java.net.URI;
 import java.net.URISyntaxException;
@@ -200,8 +201,11 @@
             }
             catch (ProvisionException e)
             {
-              failure = e;
-              break;
+              if (!(e.getStatus().getException() instanceof FileNotFoundException))
+              {
+                failure = e;
+                break;
+              }
             }
 
             if (result != null)
diff --git a/plugins/org.eclipse.oomph.p2.core/src/org/eclipse/oomph/p2/internal/core/CachingTransport.java b/plugins/org.eclipse.oomph.p2.core/src/org/eclipse/oomph/p2/internal/core/CachingTransport.java
index c6ffbb3..ca74c4d 100644
--- a/plugins/org.eclipse.oomph.p2.core/src/org/eclipse/oomph/p2/internal/core/CachingTransport.java
+++ b/plugins/org.eclipse.oomph.p2.core/src/org/eclipse/oomph/p2/internal/core/CachingTransport.java
@@ -387,9 +387,24 @@
 
   private long delegateGetLastModified(URI uri, IProgressMonitor monitor) throws CoreException, FileNotFoundException, AuthenticationFailedException
   {
-    long lastModified = delegate.getLastModified(uri, monitor);
-
     File cacheFile = getCacheFile(uri);
+
+    long lastModified;
+
+    try
+    {
+      lastModified = delegate.getLastModified(uri, monitor);
+    }
+    catch (FileNotFoundException ex)
+    {
+      synchronized (getLock(uri))
+      {
+        cacheFile.delete();
+      }
+
+      throw ex;
+    }
+
     if (cacheFile.length() == 0)
     {
       return lastModified - 1;
