diff --git a/cmix/client.go b/cmix/client.go
index 92c2d1a1486f1a68c2e2d7672bab34e126cd4a16..59640e2b0614b19d17afab771e69a50e0b0bfd43 100644
--- a/cmix/client.go
+++ b/cmix/client.go
@@ -117,10 +117,14 @@ func NewClient(params Params, comms *commClient.Comms, session storage.Session,
 	c.Handler = message.NewHandler(c.param.Message, c.session.GetKV(),
 		c.events, c.session.GetReceptionID())
 
-	return c, nil
+	err := c.connect(session.GetNDF())
+	return c, err
 }
 
-func (c *client) Connect(ndf *ndf.NetworkDefinition) error {
+// connect turns on network handlers, initializing a host pool and
+// network health monitors. This should be called before
+// network Follow command is called.
+func (c *client) connect(ndf *ndf.NetworkDefinition) error {
 	// Start network instance
 	instance, err := commNetwork.NewInstance(
 		c.comms.ProtoComms, ndf, nil, nil, commNetwork.None,
diff --git a/cmix/interface.go b/cmix/interface.go
index 41e15dd3e981daf718f53f2198d0d708aa525e48..a5db8b3cfe2089e94d03861769785ab99bd4390a 100644
--- a/cmix/interface.go
+++ b/cmix/interface.go
@@ -14,15 +14,9 @@ import (
 	"gitlab.com/xx_network/comms/connect"
 	"gitlab.com/xx_network/primitives/id"
 	"gitlab.com/xx_network/primitives/id/ephemeral"
-	"gitlab.com/xx_network/primitives/ndf"
 )
 
 type Client interface {
-	// Connect turns on network handlers, initializing a host pool and
-	// network health monitors. This should be called before
-	// network Follow command is called.
-	Connect(ndf *ndf.NetworkDefinition) error
-
 	// Follow starts the tracking of the network in a new thread.
 	// Errors that occur are reported on the ClientErrorReport function if
 	// passed. The returned stoppable can be used to stop the follower.
diff --git a/connect/utils_test.go b/connect/utils_test.go
index 45038764f61017d7caf2403cd629f8c3e821ca39..dec043d0433cfe2efe7d6016a45ae61a1c1d1488 100644
--- a/connect/utils_test.go
+++ b/connect/utils_test.go
@@ -199,10 +199,6 @@ func newMockCmix() *mockCmix {
 	return &mockCmix{}
 }
 
-func (m mockCmix) Connect(ndf *ndf.NetworkDefinition) error {
-	return nil
-}
-
 func (m *mockCmix) Follow(report cmix.ClientErrorReport) (stoppable.Stoppable, error) {
 	return nil, nil
 }
diff --git a/e2e/fpGenerator_test.go b/e2e/fpGenerator_test.go
index daf82b417700983987618f9c1a1df171ecd1436c..ebd2d7cc381a3d3ccc908b9118b697226bb0af59 100644
--- a/e2e/fpGenerator_test.go
+++ b/e2e/fpGenerator_test.go
@@ -20,7 +20,6 @@ import (
 	"gitlab.com/xx_network/comms/connect"
 	"gitlab.com/xx_network/primitives/id"
 	"gitlab.com/xx_network/primitives/id/ephemeral"
-	"gitlab.com/xx_network/primitives/ndf"
 	"math/rand"
 	"sync"
 	"testing"
@@ -112,7 +111,6 @@ func newMockFpgCmix() *mockFpgCmix {
 	}
 }
 
-func (m *mockFpgCmix) Connect(*ndf.NetworkDefinition) error                       { return nil }
 func (m *mockFpgCmix) Follow(cmix.ClientErrorReport) (stoppable.Stoppable, error) { return nil, nil }
 func (m *mockFpgCmix) GetMaxMessageLength() int                                   { return 0 }
 func (m *mockFpgCmix) Send(*id.ID, format.Fingerprint, message.Service, []byte, []byte, cmix.CMIXParams) (id.Round, ephemeral.Id, error) {
diff --git a/e2e/rekey/utils_test.go b/e2e/rekey/utils_test.go
index e30b22c255aa47c36dd3cb917c2c34a7a84219ef..3e1f77f1dcdc80a760498da5ea6b1905b90cec84 100644
--- a/e2e/rekey/utils_test.go
+++ b/e2e/rekey/utils_test.go
@@ -218,11 +218,6 @@ func (m mockServiceHandler) DeleteService(clientID *id.ID, toDelete message.Serv
 
 type mockNetManager struct{}
 
-func (m *mockNetManager) Connect(ndf *ndf.NetworkDefinition) error {
-	// TODO implement me
-	panic("implement me")
-}
-
 func (m *mockNetManager) GetIdentity(get *id.ID) (identity.TrackedID, error) {
 	//TODO implement me
 	panic("implement me")
diff --git a/e2e/utils_test.go b/e2e/utils_test.go
index 36bccbe729f8d9f72b650f960d85a81e110575f2..72bcfb3402d76c2d22b8351f1283a367ba771fc9 100644
--- a/e2e/utils_test.go
+++ b/e2e/utils_test.go
@@ -166,7 +166,6 @@ func newMockCmix(myID *id.ID, handler *mockCmixHandler, t testing.TB) *mockCmix
 	}
 }
 
-func (m *mockCmix) Connect(*ndf.NetworkDefinition) error                       { return nil }
 func (m *mockCmix) Follow(cmix.ClientErrorReport) (stoppable.Stoppable, error) { return nil, nil }
 
 func (m *mockCmix) GetMaxMessageLength() int {
diff --git a/xxdk/cmix.go b/xxdk/cmix.go
index 8be2429682a01a7f4a3dd07fd6a69049b9a7c23e..d8c3282f7609dd4dad92b13aad248dcd8b1ce926 100644
--- a/xxdk/cmix.go
+++ b/xxdk/cmix.go
@@ -154,12 +154,6 @@ func OpenCmix(storageDir string, password []byte,
 		return nil, err
 	}
 
-	c.network, err = cmix.NewClient(parameters.CMix, c.comms, c.storage,
-		c.rng, c.events)
-	if err != nil {
-		return nil, err
-	}
-
 	return c, nil
 }
 
@@ -211,6 +205,12 @@ func LoadCmix(storageDir string, password []byte, parameters Params) (*Cmix, err
 		return nil, err
 	}
 
+	c.network, err = cmix.NewClient(parameters.CMix, c.comms, c.storage,
+		c.rng, c.events)
+	if err != nil {
+		return nil, err
+	}
+
 	jww.INFO.Printf("Cmix Logged in: \n\tTransmissionID: %s "+
 		"\n\tReceptionID: %s", c.storage.GetTransmissionID(), c.storage.GetReceptionID())
 
@@ -243,11 +243,6 @@ func LoadCmix(storageDir string, password []byte, parameters Params) (*Cmix, err
 		}
 	}
 
-	err = c.network.Connect(def)
-	if err != nil {
-		return nil, err
-	}
-
 	err = c.registerFollower()
 	if err != nil {
 		return nil, err
diff --git a/xxdk/e2e.go b/xxdk/e2e.go
index 055f18cfe01ea95a49a548d9530a377f52a10782..e3b72e512f043d180139cf46a57cafbab56ba69e 100644
--- a/xxdk/e2e.go
+++ b/xxdk/e2e.go
@@ -94,7 +94,7 @@ func LoginWithNewBaseNDF_UNSAFE(storageDir string, password []byte,
 		return nil, err
 	}
 
-	c, err := OpenCmix(storageDir, password, params)
+	c, err := LoadCmix(storageDir, password, params)
 	if err != nil {
 		return nil, err
 	}
@@ -113,11 +113,6 @@ func LoginWithNewBaseNDF_UNSAFE(storageDir string, password []byte,
 			"able to register or track network.")
 	}
 
-	err = c.network.Connect(def)
-	if err != nil {
-		return nil, err
-	}
-
 	err = c.registerFollower()
 	if err != nil {
 		return nil, err
@@ -151,7 +146,7 @@ func LoginWithProtoClient(storageDir string, password []byte,
 		return nil, err
 	}
 
-	c, err := OpenCmix(storageDir, password, params)
+	c, err := LoadCmix(storageDir, password, params)
 	if err != nil {
 		return nil, err
 	}
@@ -163,11 +158,6 @@ func LoginWithProtoClient(storageDir string, password []byte,
 		return nil, err
 	}
 
-	err = c.network.Connect(def)
-	if err != nil {
-		return nil, err
-	}
-
 	c.network.AddIdentity(c.GetUser().ReceptionID, time.Time{}, true)
 
 	// FIXME: The callbacks need to be set, so I suppose we would need to
diff --git a/xxdk/utilsInterfaces_test.go b/xxdk/utilsInterfaces_test.go
index 107fb06778868bdf829e537c51d3cd1ae6cb9571..29317d133e3031c8af10eb945ad6fc726d174c1e 100644
--- a/xxdk/utilsInterfaces_test.go
+++ b/xxdk/utilsInterfaces_test.go
@@ -7,7 +7,6 @@
 package xxdk
 
 import (
-	"gitlab.com/xx_network/primitives/ndf"
 	"time"
 
 	"gitlab.com/elixxir/client/cmix"
@@ -93,9 +92,6 @@ func (d *dummyEventMgr) EventService() (stoppable.Stoppable, error) {
 }
 
 /* Below methods built for interface adherence */
-func (t *testNetworkManagerGeneric) Connect(ndf *ndf.NetworkDefinition) error {
-	return nil
-}
 func (t *testNetworkManagerGeneric) Follow(report cmix.ClientErrorReport) (stoppable.Stoppable, error) {
 	return nil, nil
 }