diff --git a/lib/discourse_redis.rb b/lib/discourse_redis.rb
index c92cc9ef7..156262b14 100644
--- a/lib/discourse_redis.rb
+++ b/lib/discourse_redis.rb
@@ -32,6 +32,7 @@ class DiscourseRedis
         if slave_client.call([:info]).split("\r\n").include?(MASTER_LINK_STATUS)
           logger.warn "#{log_prefix}: Master server is active, killing all connections to slave..."
           slave_client.call([:client, [:kill, 'type', 'normal']])
+          slave_client.call([:client, [:kill, 'type', 'pubsub']])
           Discourse.clear_readonly!
           Discourse.request_refresh!
           @master = true
diff --git a/spec/components/discourse_redis_spec.rb b/spec/components/discourse_redis_spec.rb
index c2d05c85d..6f0f1619b 100644
--- a/spec/components/discourse_redis_spec.rb
+++ b/spec/components/discourse_redis_spec.rb
@@ -84,6 +84,7 @@ describe DiscourseRedis do
           fallback_handler.master = false
           Redis::Client.any_instance.expects(:call).with([:info]).returns(DiscourseRedis::FallbackHandler::MASTER_LINK_STATUS)
           Redis::Client.any_instance.expects(:call).with([:client, [:kill, 'type', 'normal']])
+          Redis::Client.any_instance.expects(:call).with([:client, [:kill, 'type', 'pubsub']])
 
           fallback_handler.initiate_fallback_to_master