Index: src/irc/core/channel-events.c
===================================================================
--- src/irc/core/channel-events.c	(revision 4395)
+++ src/irc/core/channel-events.c	(working copy)
@@ -386,6 +386,7 @@
 	signal_add("event 332", (SIGNAL_FUNC) event_topic_get);
 	signal_add("event 333", (SIGNAL_FUNC) event_topic_info);
 	signal_add_first("event 437", (SIGNAL_FUNC) event_target_unavailable); /* channel/nick unavailable */
+	signal_add_first("event 439", (SIGNAL_FUNC) event_target_unavailable); /* target change too fast */
 }
 
 void channel_events_deinit(void)
@@ -402,4 +403,5 @@
 	signal_remove("event 332", (SIGNAL_FUNC) event_topic_get);
 	signal_remove("event 333", (SIGNAL_FUNC) event_topic_info);
 	signal_remove("event 437", (SIGNAL_FUNC) event_target_unavailable); /* channel/nick unavailable */
+	signal_remove("event 439", (SIGNAL_FUNC) event_target_unavailable); /* target change too fast */
 }
Index: src/irc/core/channel-rejoin.c
===================================================================
--- src/irc/core/channel-rejoin.c	(revision 4395)
+++ src/irc/core/channel-rejoin.c	(working copy)
@@ -262,6 +262,7 @@
 	command_bind_irc("rmrejoins", NULL, (SIGNAL_FUNC) cmd_rmrejoins);
 	signal_add_first("event 407", (SIGNAL_FUNC) event_duplicate_channel);
 	signal_add_first("event 437", (SIGNAL_FUNC) event_target_unavailable);
+	signal_add_first("event 439", (SIGNAL_FUNC) event_target_unavailable);
 	signal_add_first("channel joined", (SIGNAL_FUNC) sig_remove_rejoin);
 	signal_add_first("channel destroyed", (SIGNAL_FUNC) sig_remove_rejoin);
 	signal_add("server disconnected", (SIGNAL_FUNC) sig_disconnected);
@@ -274,6 +275,7 @@
 	command_unbind("rmrejoins", (SIGNAL_FUNC) cmd_rmrejoins);
 	signal_remove("event 407", (SIGNAL_FUNC) event_duplicate_channel);
 	signal_remove("event 437", (SIGNAL_FUNC) event_target_unavailable);
+	signal_remove("event 439", (SIGNAL_FUNC) event_target_unavailable);
 	signal_remove("channel joined", (SIGNAL_FUNC) sig_remove_rejoin);
 	signal_remove("channel destroyed", (SIGNAL_FUNC) sig_remove_rejoin);
 	signal_remove("server disconnected", (SIGNAL_FUNC) sig_disconnected);
