diff --git a/core/java/src/net/i2p/util/LogManager.java b/core/java/src/net/i2p/util/LogManager.java
index 684d495b183e7f3c4440608d863cb8767bd828f5..22229a0d4098270e1fccedac182738a275bc88c0 100644
--- a/core/java/src/net/i2p/util/LogManager.java
+++ b/core/java/src/net/i2p/util/LogManager.java
@@ -167,9 +167,11 @@ public class LogManager implements Flushable {
             return;
         if (SystemVersion.isAndroid()) {
             try {
-                Class<?> clazz = Class.forName("net.i2p.util.AndroidLogWriter");
-                Constructor<?> ctor = clazz.getDeclaredConstructor(LogManager.class);
-                _writer = (LogWriter) ctor.newInstance(this);
+                Class<? extends LogWriter> clazz = Class.forName(
+                        "net.i2p.util.AndroidLogWriter"
+                    ).asSubclass(LogWriter.class);
+                Constructor<? extends LogWriter> ctor = clazz.getDeclaredConstructor(LogManager.class);
+                _writer = ctor.newInstance(this);
             } catch (ClassNotFoundException e) {
             } catch (InstantiationException e) {
             } catch (IllegalAccessException e) {