diff --git a/messaging/src/main/java/org/jboss/as/messaging/BroadcastGroupAdd.java b/messaging/src/main/java/org/jboss/as/messaging/BroadcastGroupAdd.java
index ed73182..00034c9 100644
--- a/messaging/src/main/java/org/jboss/as/messaging/BroadcastGroupAdd.java
+++ b/messaging/src/main/java/org/jboss/as/messaging/BroadcastGroupAdd.java
@@ -25,12 +25,14 @@ package org.jboss.as.messaging;
 import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.OP_ADDR;
 import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.SOCKET_BINDING;
 import static org.jboss.as.messaging.CommonAttributes.JGROUPS_STACK;
+import static org.jboss.as.messaging.MessagingMessages.MESSAGES;
 
 import java.net.InetAddress;
 import java.net.NetworkInterface;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
+import java.util.Set;
 
 import org.hornetq.api.core.BroadcastEndpointFactoryConfiguration;
 import org.hornetq.api.core.BroadcastGroupConfiguration;
@@ -127,20 +129,25 @@ public class BroadcastGroupAdd extends AbstractAddStepHandler {
     static void addBroadcastGroupConfigs(final OperationContext context, final Configuration configuration, final ModelNode model)  throws OperationFailedException {
         if (model.hasDefined(CommonAttributes.BROADCAST_GROUP)) {
             final List<BroadcastGroupConfiguration> configs = configuration.getBroadcastGroupConfigurations();
+            final Set<String> connectors = configuration.getConnectorConfigurations().keySet();
             for (Property prop : model.get(CommonAttributes.BROADCAST_GROUP).asPropertyList()) {
-                configs.add(createBroadcastGroupConfiguration(context, prop.getName(), prop.getValue()));
+                configs.add(createBroadcastGroupConfiguration(context, connectors, prop.getName(), prop.getValue()));
 
             }
         }
     }
 
-    static BroadcastGroupConfiguration createBroadcastGroupConfiguration(final OperationContext context, final String name, final ModelNode model) throws OperationFailedException {
+    static BroadcastGroupConfiguration createBroadcastGroupConfiguration(final OperationContext context, final Set<String> connectors, final String name, final ModelNode model) throws OperationFailedException {
 
         final long broadcastPeriod = BroadcastGroupDefinition.BROADCAST_PERIOD.resolveModelAttribute(context, model).asLong();
         final List<String> connectorRefs = new ArrayList<String>();
         if (model.hasDefined(CommonAttributes.CONNECTORS)) {
             for (ModelNode ref : model.get(CommonAttributes.CONNECTORS).asList()) {
-                connectorRefs.add(ref.asString());
+                final String refName = ref.asString();
+                if(!connectors.contains(refName)){
+                    throw MESSAGES.wrongConnectorRefInBroadCastGroup(name,refName, connectorRefs);
+                }
+                connectorRefs.add(refName);
             }
         }
         // Requires runtime service
diff --git a/messaging/src/main/java/org/jboss/as/messaging/HornetQServerAdd.java b/messaging/src/main/java/org/jboss/as/messaging/HornetQServerAdd.java
index 5afdb11..b66f254 100644
--- a/messaging/src/main/java/org/jboss/as/messaging/HornetQServerAdd.java
+++ b/messaging/src/main/java/org/jboss/as/messaging/HornetQServerAdd.java
@@ -271,6 +271,8 @@ class HornetQServerAdd implements OperationStepHandler {
                                 hqService.getSocketBindingInjector(outboundSocketBinding));
                     }
                 }
+                //this requires connectors
+                BroadcastGroupAdd.addBroadcastGroupConfigs(context, configuration, model);
 
                 final List<BroadcastGroupConfiguration> broadcastGroupConfigurations = configuration.getBroadcastGroupConfigurations();
                 final Map<String, DiscoveryGroupConfiguration> discoveryGroupConfigurations = configuration.getDiscoveryGroupConfigurations();
@@ -424,7 +426,6 @@ class HornetQServerAdd implements OperationStepHandler {
 
         // Add in items from child resources
         GroupingHandlerAdd.addGroupingHandlerConfig(context,configuration, model);
-        BroadcastGroupAdd.addBroadcastGroupConfigs(context, configuration, model);
         DiscoveryGroupAdd.addDiscoveryGroupConfigs(context, configuration, model);
         DivertAdd.addDivertConfigs(context, configuration, model);
         QueueAdd.addQueueConfigs(context, configuration, model);
diff --git a/messaging/src/main/java/org/jboss/as/messaging/MessagingMessages.java b/messaging/src/main/java/org/jboss/as/messaging/MessagingMessages.java
index e93663e..f24c5ea 100644
--- a/messaging/src/main/java/org/jboss/as/messaging/MessagingMessages.java
+++ b/messaging/src/main/java/org/jboss/as/messaging/MessagingMessages.java
@@ -25,6 +25,7 @@ package org.jboss.as.messaging;
 import static org.jboss.logging.annotations.Message.INHERIT;
 
 import java.util.Collection;
+import java.util.List;
 
 import javax.xml.stream.XMLStreamException;
 
@@ -531,4 +532,20 @@ public interface MessagingMessages {
      */
     @Message(id = 11676, value = "No resource exists at address %s")
     String hqServerManagementServiceResourceNotFound(PathAddress address);
+
+    /**
+     * Create an failure description message indicating that the there are no connectors defined.
+     *
+     * @return an {@link OperationFailedException} for the error.
+     */
+    @Message(id = 11677, value = "No connectors definition present.")
+    OperationFailedException noConnectors();
+
+    /**
+     * Create an failure description message indicating that the there are no connectors defined.
+     *
+     * @return an {@link OperationFailedException} for the error.
+     */
+    @Message(id = 11678, value = "The broadcast group '%s' defines reference to nonexistent connector '%s'. Available connectors '%s'.")
+    OperationFailedException wrongConnectorRefInBroadCastGroup(final String bgName, final String connectorRef, final List<String> presentConnectors);
 }
diff --git a/messaging/src/main/java/org/jboss/as/messaging/TransportConfigOperationHandlers.java b/messaging/src/main/java/org/jboss/as/messaging/TransportConfigOperationHandlers.java
index f05be16..d2b00ac 100644
--- a/messaging/src/main/java/org/jboss/as/messaging/TransportConfigOperationHandlers.java
+++ b/messaging/src/main/java/org/jboss/as/messaging/TransportConfigOperationHandlers.java
@@ -54,7 +54,6 @@ import org.jboss.as.controller.descriptions.ModelDescriptionConstants;
 import org.jboss.as.controller.registry.Resource;
 import org.jboss.dmr.ModelNode;
 import org.jboss.dmr.Property;
-
 /**
  * Basic {@link TransportConfiguration} (Acceptor/Connector) related operations.
  *
@@ -165,6 +164,9 @@ class TransportConfigOperationHandlers {
                 connectors.put(connectorName, new TransportConfiguration(InVMConnectorFactory.class.getName(), parameters, connectorName));
             }
         }
+        if(connectors.size() == 0){
+            throw MESSAGES.noConnectors();
+        }
         configuration.setConnectorConfigurations(connectors);
     }
 
diff --git a/messaging/src/main/java/org/jboss/as/messaging/jms/JMSService.java b/messaging/src/main/java/org/jboss/as/messaging/jms/JMSService.java
index 1a0da25..29ebc74 100644
--- a/messaging/src/main/java/org/jboss/as/messaging/jms/JMSService.java
+++ b/messaging/src/main/java/org/jboss/as/messaging/jms/JMSService.java
@@ -40,7 +40,7 @@ import org.jboss.msc.service.StopContext;
 import org.jboss.msc.value.InjectedValue;
 
 import static org.jboss.as.messaging.MessagingLogger.MESSAGING_LOGGER;
-
+import static org.jboss.as.messaging.MessagingMessages.MESSAGES;
 /**
  * The {@code JMSServerManager} service.
  *
@@ -72,7 +72,9 @@ public class JMSService implements Service<JMSServerManager> {
                 final ClassLoader loader = getClass().getClassLoader();
                 SecurityActions.setContextClassLoader(loader);
                 jmsServer.start();
-
+                if(!jmsServer.isStarted()){
+                    throw MESSAGES.failedToStartService(null);
+                }
                 // FIXME - this check is a work-around for AS7-3658
                 if (!hornetQServer.getValue().getConfiguration().isBackup()) {
                     hornetQServer.getValue().getRemotingService().allowInvmSecurityOverride(new HornetQPrincipal(HornetQDefaultCredentials.getUsername(), HornetQDefaultCredentials.getPassword()));
@@ -93,6 +95,8 @@ public class JMSService implements Service<JMSServerManager> {
                 SecurityActions.setContextClassLoader(null);
             }
             this.jmsServer = jmsServer;
+        } catch(StartException e){
+            throw e;
         } catch (Exception e) {
             throw new StartException(e);
         }
