diff --git a/src/SingleImagePackModel.cpp b/src/SingleImagePackModel.cpp
index 02c9a3cedc86b783836a1c44c97695aca594076a..9d8c340942bb3912bce7300b3b973ceaeb29fde7 100644
--- a/src/SingleImagePackModel.cpp
+++ b/src/SingleImagePackModel.cpp
@@ -248,6 +248,9 @@ SingleImagePackModel::setIsStickerPack(bool val)
     using mtx::events::msc2545::PackUsage;
     if (val != pack.pack->is_sticker()) {
         pack.pack->usage.set(PackUsage::Sticker, val);
+        if (!val)
+            pack.pack->usage.set(PackUsage::Emoji, true);
+        emit isEmotePackChanged();
         emit isStickerPackChanged();
     }
 }
@@ -258,7 +261,10 @@ SingleImagePackModel::setIsEmotePack(bool val)
     using mtx::events::msc2545::PackUsage;
     if (val != pack.pack->is_emoji()) {
         pack.pack->usage.set(PackUsage::Emoji, val);
+        if (!val)
+            pack.pack->usage.set(PackUsage::Sticker, true);
         emit isEmotePackChanged();
+        emit isStickerPackChanged();
     }
 }