diff --git a/api/connect.go b/api/connect.go
index 1f0adecd06ed1c805446c1b0e77a7da8b3ddf3d1..7aa07f40aeaf78c8feba4ba628b466e0e30b9418 100644
--- a/api/connect.go
+++ b/api/connect.go
@@ -27,7 +27,6 @@ func (cl *Client) InitNetwork() error {
 	}
 
 	runPermissioning := err != ErrNoPermissioning
-
 	if runPermissioning {
 		err = cl.setupPermissioning()
 
diff --git a/api/private.go b/api/private.go
index a4bd5bd0be0f6205781ff661928e457529b683a6..e2c7ace3102fb6ee73080db56b1dffc113a33b8a 100644
--- a/api/private.go
+++ b/api/private.go
@@ -85,7 +85,7 @@ func (cl *Client) sendRegistrationMessage(registrationCode string,
 	if !ok {
 		return nil, errors.New("Failed to find permissioning host")
 	}
-	fmt.Println("in reg, pub key ", publicKeyRSA)
+
 	response, err := cl.receptionManager.Comms.
 		SendRegistrationMessage(host,
 			&pb.UserRegistration{
@@ -130,6 +130,7 @@ func (cl *Client) requestNonce(salt, regHash []byte,
 	if !ok {
 		return nil, nil, errors.Errorf("Failed to find host with ID %s", gwID.String())
 	}
+
 	nonceResponse, err := cl.receptionManager.Comms.
 		SendRequestNonceMessage(host,
 			&pb.NonceRequest{
@@ -152,7 +153,6 @@ func (cl *Client) requestNonce(salt, regHash []byte,
 		err := errors.New(fmt.Sprintf("requestNonce: nonceResponse error: %s", nonceResponse.Error))
 		return nil, nil, err
 	}
-
 	// Use Client keypair to sign Server nonce
 	return nonceResponse.Nonce, nonceResponse.DHPubKey, nil
 
@@ -301,7 +301,6 @@ func (cl *Client) GenerateKeys(rsaPrivKey *rsa.PrivateKey,
 
 	cl.session = user.NewSession(cl.storage, usr, pubKey, privKey, cmixPubKey,
 		cmixPrivKey, e2ePubKey, e2ePrivKey, salt, cmixGrp, e2eGrp, password)
-
 	//store the session
 	return cl.session.StoreSession()
 }
diff --git a/api/register.go b/api/register.go
index 6f9eaac45e9c31339173793cc2d8e342b73836f5..183e48a5fc86d352ab7ff936c033e4cb28f3af08 100644
--- a/api/register.go
+++ b/api/register.go
@@ -21,7 +21,6 @@ const SaltSize = 256
 //RegisterWithPermissioning registers the user and returns the User ID.
 // Returns an error if registration fails.
 func (cl *Client) RegisterWithPermissioning(preCan bool, registrationCode string) (*id.User, error) {
-
 	//Check the regState is in proper state for registration
 	if cl.session.GetRegState() != user.KeyGenComplete {
 		return nil, errors.Errorf("Attempting to register before key generation!")
@@ -52,7 +51,6 @@ func (cl *Client) RegisterWithPermissioning(preCan bool, registrationCode string
 		for n, k := range nodeKeyMap {
 			cl.session.PushNodeKey(&n, k)
 		}
-
 		//update the state
 		err := cl.session.SetRegState(user.PermissioningComplete)
 		if err != nil {
@@ -166,7 +164,6 @@ func (cl *Client) RegisterWithNodes() error {
 
 	//Load the registration signature
 	regSignature := session.GetRegistrationValidationSignature()
-
 	var wg sync.WaitGroup
 	errChan := make(chan error, len(cl.ndf.Gateways))
 
@@ -193,7 +190,6 @@ func (cl *Client) RegisterWithNodes() error {
 			}()
 		}
 	}
-
 	wg.Wait()
 	//See if the registration returned errors at all
 	var errs error
@@ -250,6 +246,7 @@ func (cl *Client) registerWithNode(index int, salt, registrationValidationSignat
 	if err != nil {
 		errMsg := fmt.Sprintf("Register: Failed requesting nonce from gateway: %+v", err)
 		errorChan <- errors.New(errMsg)
+		return
 	}
 
 	// Load server DH pubkey
@@ -261,6 +258,7 @@ func (cl *Client) registerWithNode(index int, salt, registrationValidationSignat
 	if err != nil {
 		errMsg := fmt.Sprintf("Register: Unable to confirm nonce: %v", err)
 		errorChan <- errors.New(errMsg)
+		return
 	}
 	nodeID := cl.topology.GetNodeAtIndex(index)
 	key := user.NodeKeys{
@@ -289,6 +287,7 @@ func (cl *Client) registerWithPermissioning(registrationCode string,
 			return nil, errors.Errorf("Register: Unable to send registration message: %+v", err)
 		}
 	}
+
 	globals.Log.INFO.Println("Register: successfully passed Registration message")
 
 	return regValidSig, nil
diff --git a/cmd/root.go b/cmd/root.go
index a6fa1266df87df67f5c8c8c16bbdd29cb298269b..49cebec06c4e89939ee94e8cabbb727132000391 100644
--- a/cmd/root.go
+++ b/cmd/root.go
@@ -196,7 +196,7 @@ func sessionInitialization() (*id.User, string, *api.Client) {
 			regCode = id.NewUserFromUints(&[4]uint64{0, 0, 0, userId}).RegistrationCode()
 		}
 
-		globals.Log.INFO.Printf("Attempting to register with code %s...", regCode)
+		globals.Log.INFO.Printf("Building keys...")
 
 		var privKey *rsa.PrivateKey
 
@@ -220,8 +220,12 @@ func sessionInitialization() (*id.User, string, *api.Client) {
 			globals.Log.FATAL.Panicf("%+v", err)
 		}
 
+		globals.Log.INFO.Printf("Attempting to register with code %s...", regCode)
+
+		errRegister := fmt.Errorf("")
+		uid = client.GetCurrentUser()
 		//Attempt to register user with same keys until a success occurs
-		for errRegister := error(nil); errRegister != nil; {
+		for errRegister != nil {
 			_, errRegister = client.RegisterWithPermissioning(userId != 0, regCode)
 			if errRegister != nil {
 				globals.Log.FATAL.Panicf("Could Not Register User: %s",
diff --git a/io/updateNdf.go b/io/updateNdf.go
index 2e4304f1d6bb72b5d811898a4e8afe9862b7692f..873578a422056e6b5645f74f1e3d85715c7a1224 100644
--- a/io/updateNdf.go
+++ b/io/updateNdf.go
@@ -23,13 +23,13 @@ func PollNdf(currentDef *ndf.NetworkDefinition, comms *client.Comms) (*ndf.Netwo
 	//Put the hash in a message
 	msg := &mixmessages.NDFHash{Hash: ndfHash}
 
-	host, ok := comms.GetHost(PermissioningAddrID)
+	regHost, ok := comms.GetHost(PermissioningAddrID)
 	if !ok {
 		return nil, errors.New("Failed to find permissioning host")
 	}
-
+	globals.Log.FATAL.Printf("about to request ndf")
 	//Send the hash to registration
-	response, err := comms.RequestNdf(host, msg)
+	response, err := comms.RequestNdf(regHost, msg)
 	if err != nil {
 		errMsg := fmt.Sprintf("Failed to get ndf from permissioning: %v", err)
 		if errMsg == noNDFErr.Error() {
@@ -45,8 +45,6 @@ func PollNdf(currentDef *ndf.NetworkDefinition, comms *client.Comms) (*ndf.Netwo
 		return nil, nil
 	}
 
-	//FixMe: use verify instead? Probs need to add a signature to ndf, like in registration's getupdate?
-
 	globals.Log.INFO.Printf("Remote NDF: %s", string(response.Ndf))
 
 	//Otherwise pull the ndf out of the response
diff --git a/user/session.go b/user/session.go
index 40fed35c86e1c7c7ef7f4b6a5907299c0472cee7..76a57620cda42e183d108cc514ba40e6744efad9 100644
--- a/user/session.go
+++ b/user/session.go
@@ -392,7 +392,6 @@ func (s *SessionObj) PushNodeKey(id *id.Node, key NodeKeys) {
 func (s *SessionObj) RegisterPermissioningSignature(sig []byte) error {
 	s.LockStorage()
 	defer s.UnlockStorage()
-
 	err := s.SetRegState(PermissioningComplete)
 	if err != nil {
 		return errors.Wrap(err, "Could not store permissioning signature")