diff --git a/cmd/backup.go b/cmd/backup.go
index faabf16661b45b783a6c11a6ff8f9438b02b1ac5..7f95a2210a6f467b790daca09a474e8800f86c39 100644
--- a/cmd/backup.go
+++ b/cmd/backup.go
@@ -30,7 +30,8 @@ func loadOrInitBackup(backupPath string, backupPass string, password []byte, sto
 	// create a new client if none exist
 	var net *xxdk.Cmix
 	var identity xxdk.ReceptionIdentity
-	if _, err := os.Stat(storeDir); errors.Is(err, fs.ErrNotExist) {
+	_, err := os.Stat(storeDir)
+	if errors.Is(err, fs.ErrNotExist) {
 		// Initialize from scratch
 		ndfJson, err := ioutil.ReadFile(viper.GetString("ndf"))
 		if err != nil {
@@ -73,12 +74,16 @@ func loadOrInitBackup(backupPath string, backupPass string, password []byte, sto
 					backupIdListPath, err)
 			}
 		}
+	}
+	// Initialize from storage
+	net, err = xxdk.LoadCmix(storeDir, password, cmixParams)
+	if err != nil {
+		jww.FATAL.Panicf("%+v", err)
+	}
 
-		net, err = xxdk.LoadCmix(storeDir, password, cmixParams)
-		if err != nil {
-			jww.FATAL.Panicf("%+v", err)
-		}
-
+	// Load or initialize xxdk.ReceptionIdentity storage
+	identity, err = xxdk.LoadReceptionIdentity(identityStorageKey, net)
+	if err != nil {
 		identity, err = xxdk.MakeLegacyReceptionIdentity(net)
 		if err != nil {
 			jww.FATAL.Panicf("%+v", err)
@@ -88,16 +93,6 @@ func loadOrInitBackup(backupPath string, backupPass string, password []byte, sto
 		if err != nil {
 			jww.FATAL.Panicf("%+v", err)
 		}
-	} else {
-		// Initialize from storage
-		net, err = xxdk.LoadCmix(storeDir, password, cmixParams)
-		if err != nil {
-			jww.FATAL.Panicf("%+v", err)
-		}
-		identity, err = xxdk.LoadReceptionIdentity(identityStorageKey, net)
-		if err != nil {
-			jww.FATAL.Panicf("%+v", err)
-		}
 	}
 
 	messenger, err := xxdk.Login(net, authCbs, identity, e2eParams)
diff --git a/cmd/init.go b/cmd/init.go
index a126e95e983a99de5693a525dc11b8a25405d8cb..13932847b044ba2e30dc79ad991e86411e314aeb 100644
--- a/cmd/init.go
+++ b/cmd/init.go
@@ -80,7 +80,8 @@ func loadOrInitMessenger(forceLegacy bool, password []byte, storeDir, regCode st
 	// create a new client if none exist
 	var net *xxdk.Cmix
 	var identity xxdk.ReceptionIdentity
-	if _, err := os.Stat(storeDir); errors.Is(err, fs.ErrNotExist) {
+	_, err := os.Stat(storeDir)
+	if errors.Is(err, fs.ErrNotExist) {
 		// Initialize from scratch
 		ndfJson, err := ioutil.ReadFile(viper.GetString("ndf"))
 		if err != nil {
@@ -88,11 +89,20 @@ func loadOrInitMessenger(forceLegacy bool, password []byte, storeDir, regCode st
 		}
 
 		err = xxdk.NewCmix(string(ndfJson), storeDir, password, regCode)
-		net, err = xxdk.LoadCmix(storeDir, password, cmixParams)
 		if err != nil {
 			jww.FATAL.Panicf("%+v", err)
 		}
+	}
+
+	// Initialize from storage
+	net, err = xxdk.LoadCmix(storeDir, password, cmixParams)
+	if err != nil {
+		jww.FATAL.Panicf("%+v", err)
+	}
 
+	// Load or initialize xxdk.ReceptionIdentity storage
+	identity, err = xxdk.LoadReceptionIdentity(identityStorageKey, net)
+	if err != nil {
 		if forceLegacy {
 			jww.INFO.Printf("Forcing legacy sender")
 			identity, err = xxdk.MakeLegacyReceptionIdentity(net)
@@ -107,16 +117,6 @@ func loadOrInitMessenger(forceLegacy bool, password []byte, storeDir, regCode st
 		if err != nil {
 			jww.FATAL.Panicf("%+v", err)
 		}
-	} else {
-		// Initialize from storage
-		net, err = xxdk.LoadCmix(storeDir, password, cmixParams)
-		if err != nil {
-			jww.FATAL.Panicf("%+v", err)
-		}
-		identity, err = xxdk.LoadReceptionIdentity(identityStorageKey, net)
-		if err != nil {
-			jww.FATAL.Panicf("%+v", err)
-		}
 	}
 
 	messenger, err := xxdk.Login(net, authCbs, identity, e2eParams)
@@ -135,7 +135,8 @@ func loadOrInitVanity(password []byte, storeDir, regCode, userIdPrefix string,
 	// create a new client if none exist
 	var net *xxdk.Cmix
 	var identity xxdk.ReceptionIdentity
-	if _, err := os.Stat(storeDir); errors.Is(err, fs.ErrNotExist) {
+	_, err := os.Stat(storeDir)
+	if errors.Is(err, fs.ErrNotExist) {
 		// Initialize from scratch
 		ndfJson, err := ioutil.ReadFile(viper.GetString("ndf"))
 		if err != nil {
@@ -144,11 +145,19 @@ func loadOrInitVanity(password []byte, storeDir, regCode, userIdPrefix string,
 
 		err = xxdk.NewVanityClient(string(ndfJson), storeDir,
 			password, regCode, userIdPrefix)
-		net, err = xxdk.LoadCmix(storeDir, password, cmixParams)
 		if err != nil {
 			jww.FATAL.Panicf("%+v", err)
 		}
+	}
+	// Initialize from storage
+	net, err = xxdk.LoadCmix(storeDir, password, cmixParams)
+	if err != nil {
+		jww.FATAL.Panicf("%+v", err)
+	}
 
+	// Load or initialize xxdk.ReceptionIdentity storage
+	identity, err = xxdk.LoadReceptionIdentity(identityStorageKey, net)
+	if err != nil {
 		identity, err = xxdk.MakeLegacyReceptionIdentity(net)
 		if err != nil {
 			jww.FATAL.Panicf("%+v", err)
@@ -158,16 +167,6 @@ func loadOrInitVanity(password []byte, storeDir, regCode, userIdPrefix string,
 		if err != nil {
 			jww.FATAL.Panicf("%+v", err)
 		}
-	} else {
-		// Initialize from storage
-		net, err = xxdk.LoadCmix(storeDir, password, cmixParams)
-		if err != nil {
-			jww.FATAL.Panicf("%+v", err)
-		}
-		identity, err = xxdk.LoadReceptionIdentity(identityStorageKey, net)
-		if err != nil {
-			jww.FATAL.Panicf("%+v", err)
-		}
 	}
 
 	messenger, err := xxdk.Login(net, authCbs, identity, e2eParams)
diff --git a/cmd/precan.go b/cmd/precan.go
index dded07723871e34ba54065ab628a346b055603a0..c0b7dcb5be18cc9f57d5e482e1ceaf1c73e77228 100644
--- a/cmd/precan.go
+++ b/cmd/precan.go
@@ -30,7 +30,8 @@ func loadOrInitPrecan(precanId uint, password []byte, storeDir string,
 	// create a new client if none exist
 	var net *xxdk.Cmix
 	var identity xxdk.ReceptionIdentity
-	if _, err := os.Stat(storeDir); errors.Is(err, fs.ErrNotExist) {
+	_, err := os.Stat(storeDir)
+	if errors.Is(err, fs.ErrNotExist) {
 		// Initialize from scratch
 		ndfJson, err := ioutil.ReadFile(viper.GetString("ndf"))
 		if err != nil {
@@ -38,30 +39,28 @@ func loadOrInitPrecan(precanId uint, password []byte, storeDir string,
 		}
 
 		err = xxdk.NewPrecannedClient(precanId, string(ndfJson), storeDir, password)
-		net, err = xxdk.LoadCmix(storeDir, password, cmixParams)
 		if err != nil {
 			jww.FATAL.Panicf("%+v", err)
 		}
+	}
+	// Initialize from storage
+	net, err = xxdk.LoadCmix(storeDir, password, cmixParams)
+	if err != nil {
+		jww.FATAL.Panicf("%+v", err)
+	}
 
+	// Load or initialize xxdk.ReceptionIdentity storage
+	identity, err = xxdk.LoadReceptionIdentity(identityStorageKey, net)
+	if err != nil {
 		identity, err = xxdk.MakeLegacyReceptionIdentity(net)
 		if err != nil {
-			return nil
+			jww.FATAL.Panicf("%+v", err)
 		}
 
 		err = xxdk.StoreReceptionIdentity(identityStorageKey, identity, net)
 		if err != nil {
 			jww.FATAL.Panicf("%+v", err)
 		}
-	} else {
-		// Initialize from storage
-		net, err = xxdk.LoadCmix(storeDir, password, cmixParams)
-		if err != nil {
-			jww.FATAL.Panicf("%+v", err)
-		}
-		identity, err = xxdk.LoadReceptionIdentity(identityStorageKey, net)
-		if err != nil {
-			jww.FATAL.Panicf("%+v", err)
-		}
 	}
 
 	messenger, err := xxdk.Login(net, authCbs, identity, e2eParams)
diff --git a/cmd/proto.go b/cmd/proto.go
index bdb5b0855d764a077b1ac47d329bcffc29b2ff8b..9fb2b9835da06364035f101918139c34a0414e68 100644
--- a/cmd/proto.go
+++ b/cmd/proto.go
@@ -28,7 +28,8 @@ func loadOrInitProto(protoUserPath string, password []byte, storeDir string,
 	// create a new client if none exist
 	var net *xxdk.Cmix
 	var identity xxdk.ReceptionIdentity
-	if _, err := os.Stat(storeDir); errors.Is(err, fs.ErrNotExist) {
+	_, err := os.Stat(storeDir)
+	if errors.Is(err, fs.ErrNotExist) {
 		// Initialize from scratch
 		ndfJson, err := ioutil.ReadFile(viper.GetString("ndf"))
 		if err != nil {
@@ -48,31 +49,30 @@ func loadOrInitProto(protoUserPath string, password []byte, storeDir string,
 
 		err = xxdk.NewProtoClient_Unsafe(string(ndfJson), storeDir,
 			password, protoUser)
-		net, err = xxdk.LoadCmix(storeDir, password, cmixParams)
 		if err != nil {
 			jww.FATAL.Panicf("%+v", err)
 		}
+	}
+	// Initialize from storage
+	net, err = xxdk.LoadCmix(storeDir, password, cmixParams)
+	if err != nil {
+		jww.FATAL.Panicf("%+v", err)
+	}
 
+	// Load or initialize xxdk.ReceptionIdentity storage
+	identity, err = xxdk.LoadReceptionIdentity(identityStorageKey, net)
+	if err != nil {
 		identity, err = xxdk.MakeLegacyReceptionIdentity(net)
 		if err != nil {
-			return nil
+			jww.FATAL.Panicf("%+v", err)
 		}
 
 		err = xxdk.StoreReceptionIdentity(identityStorageKey, identity, net)
 		if err != nil {
 			jww.FATAL.Panicf("%+v", err)
 		}
-	} else {
-		// Initialize from storage
-		net, err = xxdk.LoadCmix(storeDir, password, cmixParams)
-		if err != nil {
-			jww.FATAL.Panicf("%+v", err)
-		}
-		identity, err = xxdk.LoadReceptionIdentity(identityStorageKey, net)
-		if err != nil {
-			jww.FATAL.Panicf("%+v", err)
-		}
 	}
+
 	messenger, err := xxdk.Login(net, authCbs, identity, e2eParams)
 	if err != nil {
 		jww.FATAL.Panicf("%+v", err)