Index: twisted/test/test_pb.py
===================================================================
--- twisted/test/test_pb.py	(revision 22097)
+++ twisted/test/test_pb.py	(working copy)
@@ -1132,16 +1132,15 @@
             def clientConnectionLost(self, connector, reason):
                 reconnecting = not self.reconnectedAlready
                 self.reconnectedAlready = True
-                connector.connect()
+                if reconnecting:
+                    connector.connect()
                 return pb.PBClientFactory.clientConnectionLost(
                     self, connector, reason, reconnecting)
 
         factory, rootObjDeferred = self.getFactoryAndRootObject(ReconnectOnce)
 
         def gotRootObject(rootObj):
-            self.failUnless(
-                isinstance(rootObj, pb.RemoteReference),
-                "%r is not a RemoteReference" % (rootObj,))
+            self.assertIsInstance(rootObj, pb.RemoteReference)
 
             d = defer.Deferred()
             rootObj.notifyOnDisconnect(d.callback)
@@ -1151,9 +1150,7 @@
                 d = factory.getRootObject()
 
                 def gotAnotherRootObject(anotherRootObj):
-                    self.failUnless(
-                        isinstance(rootObj, pb.RemoteReference),
-                        "%r is not a RemoteReference" % (rootObj,))
+                    self.assertIsInstance(anotherRootObj, pb.RemoteReference)
 
                     d = defer.Deferred()
                     anotherRootObj.notifyOnDisconnect(d.callback)
