diff --git a/mailbox-android/src/main/java/org/briarproject/mailbox/core/tor/AndroidTorModule.kt b/mailbox-android/src/main/java/org/briarproject/mailbox/core/tor/AndroidTorModule.kt
index b44156e1409ca3801c2e3c8a39d376c389e9b5de..d6072abadb9a6247f81e62a96070a0d54d89753e 100644
--- a/mailbox-android/src/main/java/org/briarproject/mailbox/core/tor/AndroidTorModule.kt
+++ b/mailbox-android/src/main/java/org/briarproject/mailbox/core/tor/AndroidTorModule.kt
@@ -64,7 +64,7 @@ internal class AndroidTorModule {
         app.getDir("tor", Context.MODE_PRIVATE),
     ).also { lifecycleManager.registerService(it) }
 
-    private val architecture: String
+    private val architecture: String?
         get() {
             for (abi in AndroidTorPlugin.getSupportedArchitectures()) {
                 return when {
@@ -76,7 +76,7 @@ internal class AndroidTorModule {
                 }
             }
             LOG.info("Tor is not supported on this architecture")
-            return "" // TODO
+            return null
         }
 
 }
diff --git a/mailbox-android/src/main/java/org/briarproject/mailbox/core/tor/AndroidTorPlugin.java b/mailbox-android/src/main/java/org/briarproject/mailbox/core/tor/AndroidTorPlugin.java
index b23a4d321eafc3e8c3cf3ed4675a9de74f6f1161..4c46231e0fd2c43aca82f842b1bc75ecd0aee70e 100644
--- a/mailbox-android/src/main/java/org/briarproject/mailbox/core/tor/AndroidTorPlugin.java
+++ b/mailbox-android/src/main/java/org/briarproject/mailbox/core/tor/AndroidTorPlugin.java
@@ -29,6 +29,8 @@ import java.util.concurrent.Executor;
 import java.util.zip.ZipEntry;
 import java.util.zip.ZipInputStream;
 
+import javax.annotation.Nullable;
+
 public class AndroidTorPlugin extends TorPlugin {
 
     private static final List<String> LIBRARY_ARCHITECTURES =
@@ -52,7 +54,7 @@ public class AndroidTorPlugin extends TorPlugin {
                      CircumventionProvider circumventionProvider,
                      AndroidWakeLockManager wakeLockManager,
                      Backoff backoff,
-                     String architecture,
+                     @Nullable String architecture,
                      File torDirectory) {
         super(ioExecutor, networkManager, locationUtils, clock, resourceProvider, circumventionProvider, backoff, architecture, torDirectory);
         this.ctx = ctx;
diff --git a/mailbox-cli/src/main/java/org/briarproject/mailbox/core/tor/JavaTorModule.kt b/mailbox-cli/src/main/java/org/briarproject/mailbox/core/tor/JavaTorModule.kt
index f8421ef636326b1ef85ff3e94d4ecc6e9b56f51a..c70b23b72d271b2bc59c610fb455dbd359d6a4b8 100644
--- a/mailbox-cli/src/main/java/org/briarproject/mailbox/core/tor/JavaTorModule.kt
+++ b/mailbox-cli/src/main/java/org/briarproject/mailbox/core/tor/JavaTorModule.kt
@@ -59,7 +59,7 @@ internal class JavaTorModule {
         ).also { lifecycleManager.registerService(it) }
     }
 
-    private val architecture: String
+    private val architecture: String?
         get() {
             if (isLinux()) {
                 if (LOG.isInfoEnabled) {
@@ -78,7 +78,7 @@ internal class JavaTorModule {
                 }
             }
             LOG.info("Tor is not supported on this architecture")
-            return "" // TODO
+            return null
         }
 
 }
diff --git a/mailbox-cli/src/main/java/org/briarproject/mailbox/core/tor/JavaTorPlugin.java b/mailbox-cli/src/main/java/org/briarproject/mailbox/core/tor/JavaTorPlugin.java
index 0ecdd95f419b492736bec24651c92a96e28a6339..c9ce0a9e2cc00dfbceeef2ac0bb8b9bf69849d02 100644
--- a/mailbox-cli/src/main/java/org/briarproject/mailbox/core/tor/JavaTorPlugin.java
+++ b/mailbox-cli/src/main/java/org/briarproject/mailbox/core/tor/JavaTorPlugin.java
@@ -13,6 +13,8 @@ import java.net.URISyntaxException;
 import java.security.CodeSource;
 import java.util.concurrent.Executor;
 
+import javax.annotation.Nullable;
+
 public class JavaTorPlugin extends TorPlugin {
 
     JavaTorPlugin(Executor ioExecutor,
@@ -22,7 +24,7 @@ public class JavaTorPlugin extends TorPlugin {
                   ResourceProvider resourceProvider,
                   CircumventionProvider circumventionProvider,
                   Backoff backoff,
-                  String architecture,
+                  @Nullable String architecture,
                   File torDirectory) {
         super(ioExecutor, networkManager, locationUtils, clock, resourceProvider,
                 circumventionProvider, backoff, architecture, torDirectory);
diff --git a/mailbox-core/src/main/java/org/briarproject/mailbox/core/lifecycle/ServiceException.java b/mailbox-core/src/main/java/org/briarproject/mailbox/core/lifecycle/ServiceException.java
index adaec28c8a6c88467f98330793ac9e935f6b9b83..fbd05bb6a4323e9c7cbc5f5057b465b0601e2dc3 100644
--- a/mailbox-core/src/main/java/org/briarproject/mailbox/core/lifecycle/ServiceException.java
+++ b/mailbox-core/src/main/java/org/briarproject/mailbox/core/lifecycle/ServiceException.java
@@ -9,6 +9,10 @@ public class ServiceException extends Exception {
         super();
     }
 
+    public ServiceException(String msg) {
+        super(msg);
+    }
+
     public ServiceException(Throwable cause) {
         super(cause);
     }
diff --git a/mailbox-core/src/main/java/org/briarproject/mailbox/core/tor/TorPlugin.java b/mailbox-core/src/main/java/org/briarproject/mailbox/core/tor/TorPlugin.java
index 5adf98ddafa69ffa85ce91326c7bb9d2318840ea..9f73da2e5f9c37927d75a873a763c889b4a34fdb 100644
--- a/mailbox-core/src/main/java/org/briarproject/mailbox/core/tor/TorPlugin.java
+++ b/mailbox-core/src/main/java/org/briarproject/mailbox/core/tor/TorPlugin.java
@@ -70,6 +70,7 @@ abstract class TorPlugin implements Service, EventHandler {
     private final LocationUtils locationUtils;
     private final Clock clock;
     private final Backoff backoff;
+    @Nullable
     private final String architecture;
     private final CircumventionProvider circumventionProvider;
     private final ResourceProvider resourceProvider;
@@ -93,7 +94,7 @@ abstract class TorPlugin implements Service, EventHandler {
               ResourceProvider resourceProvider,
               CircumventionProvider circumventionProvider,
               Backoff backoff,
-              String architecture,
+              @Nullable String architecture,
               File torDirectory) {
         this.ioExecutor = ioExecutor;
         this.networkManager = networkManager;
@@ -222,6 +223,8 @@ abstract class TorPlugin implements Service, EventHandler {
     }
 
     private void installAssets() throws ServiceException {
+        if (architecture == null)
+            throw new ServiceException("Tor not supported on this architecture");
         try {
             // The done file may already exist from a previous installation
             //noinspection ResultOfMethodCallIgnored