diff --git a/src/main/java/net/floodlightcontroller/core/internal/OFSwitchHandshakeHandler.java b/src/main/java/net/floodlightcontroller/core/internal/OFSwitchHandshakeHandler.java
index 0d8540f09a0a44631b6170e285dd2ca6f99b3362..ec7705b937df7e577abedaa6ba31c7f283b5acbb 100644
--- a/src/main/java/net/floodlightcontroller/core/internal/OFSwitchHandshakeHandler.java
+++ b/src/main/java/net/floodlightcontroller/core/internal/OFSwitchHandshakeHandler.java
@@ -983,9 +983,13 @@ public class OFSwitchHandshakeHandler implements IOFConnectionListener {
 			 * log a warning, but proceed.
 			 */
 			if (m.getErrType() == OFErrorType.BAD_REQUEST &&
-					((OFBadRequestErrorMsg) m).getCode() == OFBadRequestCode.BAD_TYPE &&
+					((OFBadRequestErrorMsg) m).getCode() == OFBadRequestCode.BAD_TYPE) {
+				if (((OFBadRequestErrorMsg) m).getData().getParsedMessage() != null &&
 					((OFBadRequestErrorMsg) m).getData().getParsedMessage().get() instanceof OFBarrierRequest) {
-				log.warn("Switch does not support Barrier Request messages. Could be an HP ProCurve.");
+					log.warn("Switch does not support Barrier Request messages. Could be an HP ProCurve.");
+				} else if (((OFBadRequestErrorMsg) m).getData().getParsedMessage() == null) {
+					log.warn("Switch may not support Barrier Request messages (we can't know for sure if it's a barrier or not). Could be an Brocade...");
+				}
 			} else {
 				logErrorDisconnect(m);
 			}