diff --git a/ChangeLog b/ChangeLog
index b6ec5f414963f0c574116f34f4af5be4e58cd0e1..5d2a39fde1b45357812025fd918165e942fe3d9e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2014-07-27  Benno Schulenberg  <bensberg@justemail.net>
+	* src/global.c (add_to_sclist): Remove the now unused and unneeded
+	addition ability from this builder function of the shortcut list.
+
 2014-07-24  Jordi Mallach  <jordi@gnu.org>
 	* doc/texinfo/nano.texi, doc/man/nanorc.5: Typo fix.
 
diff --git a/src/global.c b/src/global.c
index 2f34fefb2f1f478476095a1a7a2baf5f82ea1c4c..9db4a4332bfadc1fecc8df5acb2deca79ad6c2c6 100644
--- a/src/global.c
+++ b/src/global.c
@@ -343,37 +343,26 @@ const sc *first_sc_for(int menu, void (*func)(void))
     return NULL;
 }
 
-
-/* Add a string to the shortcut list.
- * Allows updates to existing entries in the list. */
+/* Add a key combo to the shortcut list. */
 void add_to_sclist(int menu, const char *scstring, void (*func)(void), int toggle)
 {
-    sc *s;
-
-    if (sclist == NULL) {
-	sclist = (sc *)nmalloc(sizeof(sc));
-	s = sclist;
-        s->next = NULL;
-    } else {
-	for (s = sclist; s->next != NULL; s = s->next)
-            if (s->menu == menu && s->keystr == scstring)
-		break;
+    static sc *tailsc;
+    sc *s = (sc *)nmalloc(sizeof(sc));
 
-        if (s->menu != menu || s->keystr != scstring) { /* i.e. this is not a replace... */
-#ifdef DEBUG
-            fprintf(stderr, "No match found...\n");
-#endif
-	    s->next = (sc *)nmalloc(sizeof(sc));
-	    s = s->next;
-            s->next = NULL;
-        }
-    }
+    /* Start the list, or tack on the next item. */
+    if (sclist == NULL)
+	sclist = s;
+    else
+	tailsc->next = s;
+    tailsc = s;
+    s->next = NULL;
 
-    s->type = strtokeytype(scstring);
+    /* Fill in the data. */
     s->menu = menu;
+    s->scfunc = func;
     s->toggle = toggle;
     s->keystr = (char *) scstring;
-    s->scfunc = func;
+    s->type = strtokeytype(scstring);
     assign_keyinfo(s);
 
 #ifdef DEBUG