diff --git a/api/client.go b/api/client.go
index 962976cc8f3823da8550dfb1f501131b6fa252d3..31a81017e4d6825f5f3d64f79d4844685ef1b110 100644
--- a/api/client.go
+++ b/api/client.go
@@ -235,7 +235,7 @@ func Login(storageDir string, password []byte, parameters params.Network) (*Clie
 
 	// Initialize network and link it to context
 	c.network, err = network.NewManager(c.storage, c.switchboard, c.rng, c.comms,
-		parameters, def, SEMVER)
+		parameters, def)
 	if err != nil {
 		return nil, err
 	}
@@ -298,7 +298,7 @@ func LoginWithNewBaseNDF_UNSAFE(storageDir string, password []byte,
 
 	// Initialize network and link it to context
 	c.network, err = network.NewManager(c.storage, c.switchboard, c.rng, c.comms,
-		parameters, def, SEMVER)
+		parameters, def)
 	if err != nil {
 		return nil, err
 	}
@@ -335,6 +335,12 @@ func (c *Client) initComms() error {
 
 func (c *Client) initPermissioning(def *ndf.NetworkDefinition) error {
 	var err error
+	//initialize permissioning
+	c.permissioning, err = permissioning.Init(c.comms, def)
+	if err != nil {
+		return errors.WithMessage(err, "failed to init "+
+			"permissioning handler")
+	}
 
 	//register with permissioning if necessary
 	if c.storage.GetRegistrationStatus() == storage.KeyGenComplete {
diff --git a/network/manager.go b/network/manager.go
index db3dcb79a10f4dd7e31df40f43dfa58dd9b8e6af..8e929f2e94e0272312911d976e4062f4e2332fa8 100644
--- a/network/manager.go
+++ b/network/manager.go
@@ -56,7 +56,7 @@ type manager struct {
 // NewManager builds a new reception manager object using inputted key fields
 func NewManager(session *storage.Session, switchboard *switchboard.Switchboard,
 	rng *fastRNG.StreamGenerator, comms *client.Comms,
-	params params.Network, ndf *ndf.NetworkDefinition, clientVersion string) (interfaces.NetworkManager, error) {
+	params params.Network, ndf *ndf.NetworkDefinition) (interfaces.NetworkManager, error) {
 
 	//start network instance
 	instance, err := network.NewInstance(comms.ProtoComms, ndf, nil, nil)