diff --git a/nucleus/principalNetworkDomain_test.go b/nucleus/principalNetworkDomain_test.go
index d37447d6ac126d7422088f139a2a1db66f80c057..622be43e8187e8dad710f2c2d3f675f0f99cfb89 100644
--- a/nucleus/principalNetworkDomain_test.go
+++ b/nucleus/principalNetworkDomain_test.go
@@ -178,11 +178,22 @@ func Test_pndImplementation_AddDevice(t *testing.T) {
 	}{
 		{
 			name: "default",
-			args: args{device: &Device{
-				Uuid: did,
-			}},
+			args: args{
+				device: &Device{
+					Uuid: did,
+				},
+			},
 			wantErr: false,
 		},
+		{
+			name: "already exists",
+			args: args{
+				device: &Device{
+					Uuid: did,
+				},
+			},
+			wantErr: true,
+		},
 		{
 			name: "fails wrong type",
 			args: args{device: &pndImplementation{
@@ -194,16 +205,24 @@ func Test_pndImplementation_AddDevice(t *testing.T) {
 	for _, tt := range tests {
 		t.Run(tt.name, func(t *testing.T) {
 			pnd := newPnd()
-			if err := pnd.AddDevice(tt.args.device); (err != nil) != tt.wantErr {
-				t.Errorf("AddDevice() error = %v, wantErr %v", err, tt.wantErr)
+			if tt.name == "already exists" {
+				pnd.devices.store[did] = &Device{Uuid: did}
 			}
-			_, ok := pnd.devices.store[did]
-			if !ok {
-				t.Errorf("AddDevice() Device %v not in device store %v",
-					tt.args.device, pnd.devices)
+			err := pnd.AddDevice(tt.args.device)
+			if (err != nil) != tt.wantErr {
+				t.Errorf("AddDevice() error = %v, wantErr %v", err, tt.wantErr)
 			}
-			if err := pnd.devices.delete(did); err != nil {
-				t.Error(err)
+			if tt.name != "fails wrong type" {
+				if err == nil {
+					_, ok := pnd.devices.store[did]
+					if !ok {
+						t.Errorf("AddDevice() Device %v not in device store %v",
+							tt.args.device, pnd.devices)
+					}
+					if err := pnd.devices.delete(did); err != nil {
+						t.Error(err)
+					}
+				}
 			}
 		})
 	}
@@ -227,6 +246,15 @@ func Test_pndImplementation_AddSbi(t *testing.T) {
 			},
 			wantErr: false,
 		},
+		{
+			name: "already exists",
+			args: args{
+				sbi: &OpenConfig{
+					id: defaultSbiId,
+				},
+			},
+			wantErr: true,
+		},
 		{
 			name: "fails wrong type",
 			args: args{
@@ -240,16 +268,24 @@ func Test_pndImplementation_AddSbi(t *testing.T) {
 	for _, tt := range tests {
 		t.Run(tt.name, func(t *testing.T) {
 			pnd := newPnd()
-			if err := pnd.AddSbi(tt.args.sbi); (err != nil) != tt.wantErr {
-				t.Errorf("AddSbi() error = %v, wantErr %v", err, tt.wantErr)
+			if tt.name == "already exists" {
+				pnd.sbic.store[defaultSbiId] = tt.args.sbi.(*OpenConfig)
 			}
-			_, ok := pnd.sbic.store[defaultSbiId]
-			if !ok {
-				t.Errorf("AddSbi() SBI %v not in device store %v",
-					tt.args.sbi, pnd.GetSBIs())
+			err := pnd.AddSbi(tt.args.sbi)
+			if (err != nil) != tt.wantErr {
+				t.Errorf("AddSbi() error = %v, wantErr %v", err, tt.wantErr)
 			}
-			if err := pnd.sbic.delete(defaultSbiId); err != nil {
-				t.Error(err)
+			if tt.name != "fails wrong type" {
+				if err == nil {
+					_, ok := pnd.sbic.store[defaultSbiId]
+					if !ok {
+						t.Errorf("AddSbi() SBI %v not in device store %v",
+							tt.args.sbi, pnd.GetSBIs())
+					}
+					if err := pnd.sbic.delete(defaultSbiId); err != nil {
+						t.Error(err)
+					}
+				}
 			}
 		})
 	}