diff --git a/apps/ministreaming/java/src/net/i2p/client/streaming/I2PSocketManagerFactory.java b/apps/ministreaming/java/src/net/i2p/client/streaming/I2PSocketManagerFactory.java
index b7e5cfb61e2b0f536e12085d6f56e976a05ba193..e7990f28f60cb3fb5a06b4a249d50f49af0827fb 100644
--- a/apps/ministreaming/java/src/net/i2p/client/streaming/I2PSocketManagerFactory.java
+++ b/apps/ministreaming/java/src/net/i2p/client/streaming/I2PSocketManagerFactory.java
@@ -180,7 +180,9 @@ public class I2PSocketManagerFactory {
         I2PAppContext context = I2PAppContext.getGlobalContext();
         String classname = opts.getProperty(PROP_MANAGER, DEFAULT_MANAGER);
         try {
-            Class cls = Class.forName(classname);
+            Class<?> cls = Class.forName(classname);
+            if (!I2PSocketManager.class.isAssignableFrom(cls))
+                throw new IllegalArgumentException(classname + " is not an I2PSocketManager");
             Constructor<I2PSocketManager> con = (Constructor<I2PSocketManager>)
                   cls.getConstructor(new Class[] {I2PAppContext.class, I2PSession.class, Properties.class, String.class});
             I2PSocketManager mgr = con.newInstance(new Object[] {context, session, opts, name});