diff --git a/core/plugins/org.eclipse.dltk.core.index.lucene/src/org/eclipse/dltk/internal/core/index/lucene/IndexContainer.java b/core/plugins/org.eclipse.dltk.core.index.lucene/src/org/eclipse/dltk/internal/core/index/lucene/IndexContainer.java
index d5c7c16..4a2980e 100644
--- a/core/plugins/org.eclipse.dltk.core.index.lucene/src/org/eclipse/dltk/internal/core/index/lucene/IndexContainer.java
+++ b/core/plugins/org.eclipse.dltk.core.index.lucene/src/org/eclipse/dltk/internal/core/index/lucene/IndexContainer.java
@@ -123,18 +123,11 @@
 
 		@Override
 		public void sync(Collection<String> names) throws IOException {
-			((FSDirectory) in).deletePendingFiles();
 		}
 
 		@Override
 		public void syncMetaData() throws IOException {
-			((FSDirectory) in).deletePendingFiles();
 		}
-
-		public void shutdown() throws IOException {
-			in.syncMetaData();
-		}
-
 	}
 
 	private IndexWriter createWriter(Path path) throws IOException {
@@ -277,8 +270,6 @@
 			if (fTimestampsSearcher != null)
 				fTimestampsSearcher.close();
 			if (fTimestampsWriter != null) {
-				((NoFsyncDirectory) fTimestampsWriter.getDirectory())
-						.shutdown();
 				fTimestampsWriter.close();
 			}
 			// Close all data searchers
@@ -294,7 +285,6 @@
 					.values()) {
 				for (IndexWriter writer : dataWriters.values()) {
 					if (writer != null && writer.isOpen()) {
-						((NoFsyncDirectory) writer.getDirectory()).shutdown();
 						writer.close();
 					}
 				}
