diff --git a/systests/systests-utils/src/main/java/org/apache/qpid/tests/utils/EmbeddedBrokerPerClassAdminImpl.java b/systests/systests-utils/src/main/java/org/apache/qpid/tests/utils/EmbeddedBrokerPerClassAdminImpl.java
index 22021b3..1b74bbe 100644
--- a/systests/systests-utils/src/main/java/org/apache/qpid/tests/utils/EmbeddedBrokerPerClassAdminImpl.java
+++ b/systests/systests-utils/src/main/java/org/apache/qpid/tests/utils/EmbeddedBrokerPerClassAdminImpl.java
@@ -70,6 +70,7 @@
 public class EmbeddedBrokerPerClassAdminImpl implements BrokerAdmin
 {
     private static final Logger LOGGER = LoggerFactory.getLogger(EmbeddedBrokerPerClassAdminImpl.class);
+    public static final String TYPE = "EMBEDDED_BROKER_PER_CLASS";
     private final Map<String, Integer> _ports = new HashMap<>();
     private SystemLauncher _systemLauncher;
     private Broker<?> _broker;
@@ -393,7 +394,7 @@
     @Override
     public String getType()
     {
-        return "EMBEDDED_BROKER_PER_CLASS";
+        return TYPE;
     }
 
     private Queue getQueue(final String queueName)
diff --git a/systests/systests-utils/src/main/java/org/apache/qpid/tests/utils/QpidTestRunner.java b/systests/systests-utils/src/main/java/org/apache/qpid/tests/utils/QpidTestRunner.java
index 1f7a8b6..4f92a07 100644
--- a/systests/systests-utils/src/main/java/org/apache/qpid/tests/utils/QpidTestRunner.java
+++ b/systests/systests-utils/src/main/java/org/apache/qpid/tests/utils/QpidTestRunner.java
@@ -27,6 +27,7 @@
 
 public class QpidTestRunner extends BlockJUnit4ClassRunner
 {
+    private static final String PROPERTY_BROKER_ADMIN_TYPE = "qpid.tests.brokerAdminType";
     private final BrokerAdmin _brokerAdmin;
     private final BrokerAdmin _original;
     private final Class _testClass;
@@ -35,8 +36,16 @@
     {
         super(klass);
         _testClass = klass;
-        RunBrokerAdmin runBrokerAdmin = (RunBrokerAdmin) _testClass.getAnnotation(RunBrokerAdmin.class);
-        String type = runBrokerAdmin == null ? "EMBEDDED_BROKER_PER_CLASS" : runBrokerAdmin.type();
+        final RunBrokerAdmin runBrokerAdmin = (RunBrokerAdmin) _testClass.getAnnotation(RunBrokerAdmin.class);
+        final String type;
+        if (runBrokerAdmin == null)
+        {
+            type = System.getProperty(PROPERTY_BROKER_ADMIN_TYPE, EmbeddedBrokerPerClassAdminImpl.TYPE);
+        }
+        else
+        {
+            type = runBrokerAdmin.type();
+        }
         _original = new BrokerAdminFactory().createInstance(type);
         _brokerAdmin = new LoggingBrokerAdminDecorator(_original);
     }
