diff --git a/tests/nicira_role.py b/tests/nicira_role.py
index 1122a7b..ab96f12 100644
--- a/tests/nicira_role.py
+++ b/tests/nicira_role.py
@@ -11,18 +11,29 @@
 
 from oftest.testutils import *
 
-NX_ROLE_MASTER = 2
+NX_ROLE_OTHER = 0
+NX_ROLE_MASTER = 1
+NX_ROLE_SLAVE = 2
 
-@nonstandard
-class NiciraRoleRequest(base_tests.SimpleDataPlane):
+class AnyReply(base_tests.SimpleDataPlane):
     """
-    Exercise Nicira vendor extension for requesting HA roles
-    """
+    Verify that a role request gets either a role reply or an error.
 
+    This test should pass on any switch, no matter whether it implements
+    the extension.
+    """
     def runTest(self):
-        '''
-        For now, we only verify that a response is received.
-        '''
         request = ofp.message.nicira_controller_role_request(role=NX_ROLE_MASTER)
         response, pkt = self.controller.transact(request)
         self.assertTrue(response is not None, "No reply to Nicira role request")
+        if isinstance(response, ofp.message.nicira_controller_role_reply):
+            logging.info("Role reply received")
+            logging.info(response.show())
+            self.assertEquals(response.role, NX_ROLE_MASTER)
+        elif isinstance(response, ofp.message.error_msg):
+            logging.info("Error message received")
+            logging.info(response.show())
+            self.assertEquals(response.err_type, ofp.OFPET_BAD_REQUEST)
+            self.assertEquals(response.code, ofp.OFPBRC_BAD_VENDOR)
+        else:
+            raise AssertionError("Unexpected reply type")
