diff --git a/src/db/models/collection.rs b/src/db/models/collection.rs
index 905ca41e8b0706a60e62c16f8730270abbe7e0d2..5261bec45653f2306b864d4406ff33ac43f87d37 100644
--- a/src/db/models/collection.rs
+++ b/src/db/models/collection.rs
@@ -278,6 +278,7 @@ pub struct CollectionCipher {
 /// Database methods
 impl CollectionCipher {
     pub fn save(cipher_uuid: &str, collection_uuid: &str, conn: &DbConn) -> EmptyResult {
+        Self::update_users_revision(&collection_uuid, conn);
         diesel::replace_into(ciphers_collections::table)
             .values((
                 ciphers_collections::cipher_uuid.eq(cipher_uuid),
@@ -288,6 +289,7 @@ impl CollectionCipher {
     }
 
     pub fn delete(cipher_uuid: &str, collection_uuid: &str, conn: &DbConn) -> EmptyResult {
+        Self::update_users_revision(&collection_uuid, conn);
         diesel::delete(
             ciphers_collections::table
                 .filter(ciphers_collections::cipher_uuid.eq(cipher_uuid))
@@ -308,4 +310,10 @@ impl CollectionCipher {
             .execute(&**conn)
             .map_res("Error removing ciphers from collection")
     }
+
+    pub fn update_users_revision(collection_uuid: &str, conn: &DbConn) {
+        if let Some(collection) = Collection::find_by_uuid(collection_uuid, conn) {
+            collection.update_users_revision(conn);
+        }
+    }
 }