diff --git a/src/osmo-bsc/neighbor_ident_vty.c b/src/osmo-bsc/neighbor_ident_vty.c
index 409153b..203b150 100644
--- a/src/osmo-bsc/neighbor_ident_vty.c
+++ b/src/osmo-bsc/neighbor_ident_vty.c
@@ -258,6 +258,7 @@
 {
 	int rc;
 	struct gsm_bts *local_neigh;
+	const struct gsm0808_cell_id_list2 *exists;
 	struct gsm0808_cell_id_list2 cil;
 	struct gsm_bts *bts = vty->index;
 
@@ -289,6 +290,15 @@
 		return add_local_bts(vty, local_neigh);
 	}
 
+	/* Allow only one cell ID per remote-BSS neighbor, see OS#3656 */
+	exists = neighbor_ident_get(g_neighbor_cells, key);
+	if (exists) {
+		vty_out(vty, "%% Error: only one Cell Identifier entry is allowed per remote neighbor."
+			" Already have: %s -> %s%s", neighbor_ident_key_name(key),
+			gsm0808_cell_id_list_name(exists), VTY_NEWLINE);
+		return CMD_WARNING;
+	}
+
 	/* The cell_id is not known in this BSS, so it must be a remote cell. */
 	gsm0808_cell_id_to_list(&cil, cell_id);
 	rc = neighbor_ident_add(g_neighbor_cells, key, &cil);
diff --git a/tests/neighbor_ident.vty b/tests/neighbor_ident.vty
index 4f86383..2ce2231 100644
--- a/tests/neighbor_ident.vty
+++ b/tests/neighbor_ident.vty
@@ -211,29 +211,29 @@
 OsmoBSC(config-net-bts)# neighbor lac-ci 21 31
 % BTS 0 already had local neighbor BTS 1 with LAC 21 CI 31 and ARFCN 41 BSIC 11
 OsmoBSC(config-net-bts)# neighbor cgi 23 42 423 5 arfcn 23 bsic 42
-% BTS 0 to ARFCN 23 BSIC 42 now has 1 remote BSS Cell Identifier List entry
+% Error: only one Cell Identifier entry is allowed per remote neighbor. Already have: BTS 0 to ARFCN 23 BSIC 42 -> CGI[1]:{023-42-423-5}
 OsmoBSC(config-net-bts)# neighbor cgi 23 42 423 5 arfcn 23 bsic 42
-% BTS 0 to ARFCN 23 BSIC 42 now has 1 remote BSS Cell Identifier List entry
+% Error: only one Cell Identifier entry is allowed per remote neighbor. Already have: BTS 0 to ARFCN 23 BSIC 42 -> CGI[1]:{023-42-423-5}
 OsmoBSC(config-net-bts)# neighbor cgi 23 42 423 5 arfcn 23 bsic 42
-% BTS 0 to ARFCN 23 BSIC 42 now has 1 remote BSS Cell Identifier List entry
+% Error: only one Cell Identifier entry is allowed per remote neighbor. Already have: BTS 0 to ARFCN 23 BSIC 42 -> CGI[1]:{023-42-423-5}
 
 OsmoBSC(config-net-bts)# neighbor cgi 23 042 423 6 arfcn 23 bsic 42
-% BTS 0 to ARFCN 23 BSIC 42 now has 2 remote BSS Cell Identifier List entries
+% Error: only one Cell Identifier entry is allowed per remote neighbor. Already have: BTS 0 to ARFCN 23 BSIC 42 -> CGI[1]:{023-42-423-5}
 
 OsmoBSC(config-net-bts)# neighbor lac 456 arfcn 123 bsic 45
 % BTS 0 to ARFCN 123 BSIC 45 now has 1 remote BSS Cell Identifier List entry
 
 OsmoBSC(config-net-bts)# neighbor cgi 23 042 234 56 arfcn 23 bsic 42
-% BTS 0 to ARFCN 23 BSIC 42 now has 3 remote BSS Cell Identifier List entries
+% Error: only one Cell Identifier entry is allowed per remote neighbor. Already have: BTS 0 to ARFCN 23 BSIC 42 -> CGI[1]:{023-42-423-5}
 
 OsmoBSC(config-net-bts)# neighbor lac-ci 789 10 arfcn 423 bsic any
 % BTS 0 to ARFCN 423 (any BSIC) now has 1 remote BSS Cell Identifier List entry
 
 OsmoBSC(config-net-bts)# neighbor lac-ci 789 10 arfcn 423 bsic 63
-% BTS 0 to ARFCN 423 BSIC 63 now has 1 remote BSS Cell Identifier List entry
+% Error: only one Cell Identifier entry is allowed per remote neighbor. Already have: BTS 0 to ARFCN 423 BSIC 63 -> LAC-CI[1]:{789-10}
 
 OsmoBSC(config-net-bts)# neighbor lac-ci 789 10 arfcn 423 bsic 1
-% BTS 0 to ARFCN 423 BSIC 1 now has 1 remote BSS Cell Identifier List entry
+% Error: only one Cell Identifier entry is allowed per remote neighbor. Already have: BTS 0 to ARFCN 423 BSIC 1 -> LAC-CI[1]:{789-10}
 
 OsmoBSC(config-net-bts)# show running-config
 ...
@@ -244,12 +244,8 @@
   neighbor bts 1
   neighbor bts 2
   neighbor cgi 023 42 423 5 arfcn 23 bsic 42
-  neighbor cgi 023 042 423 6 arfcn 23 bsic 42
-  neighbor cgi 023 042 234 56 arfcn 23 bsic 42
   neighbor lac 456 arfcn 123 bsic 45
   neighbor lac-ci 789 10 arfcn 423 bsic any
-  neighbor lac-ci 789 10 arfcn 423 bsic 63
-  neighbor lac-ci 789 10 arfcn 423 bsic 1
 ... !neighbor 
 
 OsmoBSC(config-net-bts)# do show bts 0 neighbor arfcn 99 bsic any
@@ -271,13 +267,103 @@
 % Removed remote BSS neighbor BTS 0 to ARFCN 23 BSIC 42
 
 OsmoBSC(config-net-bts)# show running-config
-... !neighbor 
+
+Current configuration:
+!
+!
+log stderr
+ logging filter all 1
+ logging color 1
+ logging print category 0
+ logging timestamp 0
+ logging print file 1
+ logging level rll notice
+ logging level mm notice
+ logging level rr notice
+ logging level rsl notice
+ logging level nm info
+ logging level pag notice
+ logging level meas notice
+ logging level msc notice
+ logging level ho notice
+ logging level hodec notice
+ logging level ref notice
+ logging level nat notice
+ logging level ctrl notice
+ logging level filter debug
+ logging level pcu debug
+ logging level lcls notice
+ logging level chan notice
+ logging level ts notice
+ logging level as notice
+ logging level lglobal notice
+ logging level llapd notice
+ logging level linp notice
+ logging level lmux notice
+ logging level lmi notice
+ logging level lmib notice
+ logging level lsms notice
+ logging level lctrl notice
+ logging level lgtp notice
+ logging level lstats notice
+ logging level lgsup notice
+ logging level loap notice
+ logging level lss7 notice
+ logging level lsccp notice
+ logging level lsua notice
+ logging level lm3ua notice
+ logging level lmgcp notice
+ logging level ljibuf notice
+!
+stats interval 5
+!
+line vty
+ no login
+!
+e1_input
+ e1_line 0 driver ipa
+ e1_line 0 port 0
+ no e1_line 0 keepalive
+cs7 instance 0
+ point-code 0.23.3
+ asp asp-clnt-msc-0 2905 0 m3ua
+ as as-clnt-msc-0 m3ua
+  asp asp-clnt-msc-0
+  routing-key 0 0.23.3
+network
+ network country code 901
+ mobile network code 70
+ encryption a5 1 3
+ neci 0
+ paging any use tch 0
+ bts 0
+  type sysmobts
+  band DCS1800
+  cell_identity 30
+  location_area_code 20
+  base_station_id_code 10
+  ms max power 15
+  cell reselection hysteresis 4
+  rxlev access min 0
+  radio-link-timeout 32
+  channel allocator ascending
+  rach tx integer 9
+  rach max transmission 7
+  channel-descrption attach 1
+  channel-descrption bs-pa-mfrms 5
+  channel-descrption bs-ag-blks-res 1
+  no access-control-class-ramping
+  access-control-class-ramping-step-interval dynamic
+  access-control-class-ramping-step-size 1
+  early-classmark-sending forbidden
+  early-classmark-sending-3g allowed
+  ip.access unit_id 1800 0
+  oml ip.access stream_id 255 line 0
+  neighbor-list mode automatic
   neighbor bts 1
   neighbor bts 2
   neighbor lac 456 arfcn 123 bsic 45
   neighbor lac-ci 789 10 arfcn 423 bsic any
-  neighbor lac-ci 789 10 arfcn 423 bsic 63
-  neighbor lac-ci 789 10 arfcn 423 bsic 1
 ... !neighbor 
 
 OsmoBSC(config-net-bts)# no neighbor arfcn 123 bsic 45
@@ -288,8 +374,6 @@
   neighbor bts 1
   neighbor bts 2
   neighbor lac-ci 789 10 arfcn 423 bsic any
-  neighbor lac-ci 789 10 arfcn 423 bsic 63
-  neighbor lac-ci 789 10 arfcn 423 bsic 1
 ... !neighbor 
 
 OsmoBSC(config-net-bts)# no neighbor arfcn 423 bsic any
@@ -299,22 +383,19 @@
 ... !neighbor 
   neighbor bts 1
   neighbor bts 2
-  neighbor lac-ci 789 10 arfcn 423 bsic 63
-  neighbor lac-ci 789 10 arfcn 423 bsic 1
 ... !neighbor 
 
 OsmoBSC(config-net-bts)# no neighbor arfcn 423 bsic 63
-% Removed remote BSS neighbor BTS 0 to ARFCN 423 BSIC 63
+% Cannot remove, no such neighbor: BTS 0 to ARFCN 423 BSIC 63
 
 OsmoBSC(config-net-bts)# show running-config
 ... !neighbor 
   neighbor bts 1
   neighbor bts 2
-  neighbor lac-ci 789 10 arfcn 423 bsic 1
 ... !neighbor 
 
 OsmoBSC(config-net-bts)# no neighbor arfcn 423 bsic 1
-% Removed remote BSS neighbor BTS 0 to ARFCN 423 BSIC 1
+% Cannot remove, no such neighbor: BTS 0 to ARFCN 423 BSIC 1
 
 OsmoBSC(config-net-bts)# show running-config
 ... !neighbor 
