 
 				# Else, first connect, then set as parent.
 				else
-					peer = @connect(superNode.id, ( ) =>
-						console.log peer
+					peer = @connect(superNode.id, ( success ) =>
+						unless success
+							connectParent(superNodes)
+							return
+
 						@setParent(peer, ( accepted ) =>
 							if accepted
 								@trigger('joined')

							if peer = @getPeer(superNode.id)
								@addSibling(peer)
							else
								peer = @connect(superNode.id, ( ) =>
									@addSibling(peer)
								)
						) (superNode)
				)

			if peer = @getPeer(id)
				@setParent(peer)
			else
				peer = @connect(id, ( success ) =>
					if success
						@setParent(peer)
				)

		# Adds a token to the collection of foreign tokens
