diff --git a/briar-desktop/src/org/briarproject/plugins/file/UnixRemovableDriveMonitor.java b/briar-desktop/src/org/briarproject/plugins/file/UnixRemovableDriveMonitor.java
index 17116e05e562623beafd1fe2c1c2097165ca80ec..4d9e95df938c2c0f43b083e95562d10afe11cd11 100644
--- a/briar-desktop/src/org/briarproject/plugins/file/UnixRemovableDriveMonitor.java
+++ b/briar-desktop/src/org/briarproject/plugins/file/UnixRemovableDriveMonitor.java
@@ -11,6 +11,9 @@ import net.contentobjects.jnotify.JNotifyListener;
 abstract class UnixRemovableDriveMonitor implements RemovableDriveMonitor,
 JNotifyListener {
 
+	private static boolean triedLoad = false; // Locking: class
+	private static Throwable loadError = null; // Locking: class
+
 	// Locking: this
 	private final List<Integer> watches = new ArrayList<Integer>();
 
@@ -19,32 +22,23 @@ JNotifyListener {
 
 	protected abstract String[] getPathsToWatch();
 
-	private static boolean triedLoad = false;
-	private static Throwable loadError = null;
-
 	private static Throwable tryLoad() {
 		try {
 			Class.forName("net.contentobjects.jnotify.JNotify");
 			return null;
-		} catch (UnsatisfiedLinkError e) {
+		} catch(UnsatisfiedLinkError e) {
 			return e;
-		} catch (ClassNotFoundException e) {
+		} catch(ClassNotFoundException e) {
 			return e;
 		}
 	}
 
 	public static synchronized void checkEnabled() throws IOException {
-		if (!triedLoad) {
+		if(!triedLoad) {
 			loadError = tryLoad();
 			triedLoad = true;
 		}
-		if (loadError != null) {
-			// gymnastics due to having to support earlier Android APIs
-			// TODO(infinity0): add a utility that does this and convert other exceptions too
-			IOException e = new IOException("JNotify not loaded");
-			e.initCause(loadError);
-			throw e;
-		}
+		if(loadError != null) throw new IOException(loadError.toString());
 	}
 
 	public void start(Callback callback) throws IOException {