diff --git a/components/net/sf/briar/plugins/file/FilePlugin.java b/components/net/sf/briar/plugins/file/FilePlugin.java
index 634102280e2bcdbfa4ec09a2142f876bd9be6aec..eb8f70610c63938e58f64ab4f5309d3c7e59b09f 100644
--- a/components/net/sf/briar/plugins/file/FilePlugin.java
+++ b/components/net/sf/briar/plugins/file/FilePlugin.java
@@ -106,7 +106,7 @@ abstract class FilePlugin implements BatchTransportPlugin {
 	}
 
 	protected void createReaderFromFile(final File f) {
-		if(!started) throw new IllegalStateException();
+		if(!started) return;
 		executor.execute(new ReaderCreator(f));
 	}
 
@@ -127,8 +127,12 @@ abstract class FilePlugin implements BatchTransportPlugin {
 			if(f.length() < TransportConstants.MIN_CONNECTION_LENGTH) return;
 			try {
 				FileInputStream in = new FileInputStream(f);
-				callback.readerCreated(new FileTransportReader(f, in,
-						FilePlugin.this));
+				synchronized(FilePlugin.this) {
+					if(started) {
+						callback.readerCreated(new FileTransportReader(f, in,
+								FilePlugin.this));
+					}
+				}
 			} catch(IOException e) {
 				return;
 			}