diff --git a/storage/utility/encryptionSalt_test.go b/storage/utility/encryptionSalt_test.go
new file mode 100644
index 0000000000000000000000000000000000000000..f041b9ded2673277022ae55ce3c356e9744ce712
--- /dev/null
+++ b/storage/utility/encryptionSalt_test.go
@@ -0,0 +1,49 @@
+package utility
+
+import (
+	"bytes"
+	"gitlab.com/elixxir/client/storage/versioned"
+	"gitlab.com/elixxir/ekv"
+	"gitlab.com/xx_network/crypto/csprng"
+	"testing"
+)
+
+// Smoke test
+func TestNewOrLoadSalt(t *testing.T) {
+	kv := ekv.MakeMemstore()
+	vkv := versioned.NewKV(kv)
+
+	rng := csprng.NewSystemRNG()
+
+	_, err := NewOrLoadSalt(vkv, rng)
+	if err != nil {
+		t.Fatalf("NewOrLoadSalt error: %+v", err)
+	}
+
+}
+
+// Test that calling NewOrLoadSalt twice returns the same
+// salt that exists in storage.
+func TestLoadSalt(t *testing.T) {
+
+	kv := ekv.MakeMemstore()
+	vkv := versioned.NewKV(kv)
+
+	rng := csprng.NewSystemRNG()
+
+	original, err := NewOrLoadSalt(vkv, rng)
+	if err != nil {
+		t.Fatalf("NewOrLoadSalt error: %+v", err)
+	}
+
+	loaded, err := NewOrLoadSalt(vkv, rng)
+	if err != nil {
+		t.Fatalf("NewOrLoadSalt error: %+v", err)
+	}
+
+	// Test that loaded matches the original (ie a new one was not generated)
+	if !bytes.Equal(original, loaded) {
+		t.Fatalf("Failed to load salt.")
+	}
+
+}