Fix earfcn deletion

* fix typo in arg index
* fix sign in error reporting
* add vty test
diff --git a/openbsc/src/libbsc/bsc_vty.c b/openbsc/src/libbsc/bsc_vty.c
index 3a699c4..85b8394 100644
--- a/openbsc/src/libbsc/bsc_vty.c
+++ b/openbsc/src/libbsc/bsc_vty.c
@@ -2802,11 +2802,11 @@
 {
 	struct gsm_bts *bts = vty->index;
 	struct osmo_earfcn_si2q *e = &bts->si_common.si2quater_neigh_list;
-	uint16_t arfcn = atoi(argv[1]);
+	uint16_t arfcn = atoi(argv[0]);
 	int r = osmo_earfcn_del(e, arfcn);
 	if (r < 0) {
 		vty_out(vty, "Unable to delete arfcn %u: %s%s", arfcn,
-			strerror(r), VTY_NEWLINE);
+			strerror(-r), VTY_NEWLINE);
 		return CMD_WARNING;
 	}
 
diff --git a/openbsc/tests/vty_test_runner.py b/openbsc/tests/vty_test_runner.py
index 143ba5d..7f64a80 100644
--- a/openbsc/tests/vty_test_runner.py
+++ b/openbsc/tests/vty_test_runner.py
@@ -231,6 +231,20 @@
 
         self.assertEquals(self.vty.node(), 'config-mncc-int')
 
+    def testSi2Q(self):
+        self.vty.enable()
+        self.vty.command("configure terminal")
+        self.vty.command("network")
+        self.vty.command("bts 0")
+        before = self.vty.command("show running-config")
+        self.vty.command("si2quater neighbor-list add earfcn 1911 threshold 11 2")
+        self.vty.command("si2quater neighbor-list add earfcn 1924 threshold 11 3")
+        self.vty.command("si2quater neighbor-list add earfcn 2111 threshold 11")
+        self.vty.command("si2quater neighbor-list del earfcn 1911")
+        self.vty.command("si2quater neighbor-list del earfcn 1924")
+        self.vty.command("si2quater neighbor-list del earfcn 2111")
+        self.assertEquals(before, self.vty.command("show running-config"))
+
     def testEnableDisablePeriodicLU(self):
         self.vty.enable()
         self.vty.command("configure terminal")