diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb
index 6dd3f81ad..b36e02ccd 100644
--- a/app/controllers/application_controller.rb
+++ b/app/controllers/application_controller.rb
@@ -154,7 +154,10 @@ class ApplicationController < ActionController::Base
 
       if notifications.present?
         notification_ids = notifications.split(",").map(&:to_i)
-        Notification.where(user_id: current_user.id, id: notification_ids).update_all(read: true)
+        count = Notification.where(user_id: current_user.id, id: notification_ids, read: false).update_all(read: true)
+        if count > 0
+          current_user.publish_notifications_state
+        end
         cookies.delete('cn')
       end
     end