diff --git a/ChangeLog b/ChangeLog
index c113825f32e1f7065d2b53ed0556403336aee63f..913d4386a2b856952f54fa9c62a29d64e09a64f0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2015-02-25  Chris Allegretta <chrisa@asty.org>
+	* src/rcfile.c (parse_binding): Add exception for do_toggle as
+	rebinding toggles broke with r5022.
+
 2015-02-21  Benno Schulenberg  <bensberg@justemail.net>
 	* README: Fix the explanation of how to subscribe to a mailing list.
 	* doc/syntax/{java,lua,python,ruby}.nanorc: Wrap some overlong lines.
diff --git a/src/rcfile.c b/src/rcfile.c
index f7c897d6123405758a4e3bbe8065ed0461660ac6..28313a7c641b3da4d01360420d51b057685fdcd0 100644
--- a/src/rcfile.c
+++ b/src/rcfile.c
@@ -505,7 +505,7 @@ void parse_binding(char *ptr, bool dobind)
 	fprintf(stderr, "unbinding \"%s\" from menu %x\n", keycopy, menu);
 #endif
 
-    if (dobind) {
+    if (dobind && newsc->scfunc != do_toggle_void) {
 	subnfunc *f;
 	int mask = 0;