diff --git a/loader/src/ui/internal/info/DevProfilePopup.cpp b/loader/src/ui/internal/info/DevProfilePopup.cpp
index 516db347..1db348f5 100644
--- a/loader/src/ui/internal/info/DevProfilePopup.cpp
+++ b/loader/src/ui/internal/info/DevProfilePopup.cpp
@@ -17,9 +17,11 @@ bool DevProfilePopup::setup(std::string const& developer) {
     // installed mods
     for (auto& mod : Loader::get()->getAllMods()) {
         if (mod->getDeveloper() == developer) {
-            items->addObject(ModCell::create(
+            auto cell = ModCell::create(
                 mod, nullptr, ModListDisplay::Concise, { 358.f, 40.f }
-            ));
+            );
+            cell->disableDeveloperButton();
+            items->addObject(cell);
         }
     }
 
@@ -28,9 +30,11 @@ bool DevProfilePopup::setup(std::string const& developer) {
         if (Loader::get()->isModInstalled(item->info.id())) {
             continue;
         }
-        items->addObject(IndexItemCell::create(
+        auto cell = IndexItemCell::create(
             item, nullptr, ModListDisplay::Concise, { 358.f, 40.f }
-        ));
+        );
+        cell->disableDeveloperButton();
+        items->addObject(cell);
     }
 
     // mods list
diff --git a/loader/src/ui/internal/list/ModListCell.cpp b/loader/src/ui/internal/list/ModListCell.cpp
index ad2f1ae8..03b3c34e 100644
--- a/loader/src/ui/internal/list/ModListCell.cpp
+++ b/loader/src/ui/internal/list/ModListCell.cpp
@@ -94,24 +94,24 @@ void ModListCell::setupInfo(
     auto creatorLabel = CCLabelBMFont::create(creatorStr.c_str(), "goldFont.fnt");
     creatorLabel->setScale(.43f);
 
-    auto creatorBtn = CCMenuItemSpriteExtra::create(
+    m_developerBtn = CCMenuItemSpriteExtra::create(
         creatorLabel, this, menu_selector(ModListCell::onViewDev)
     );
-    creatorBtn->setPositionX(
+    m_developerBtn->setPositionX(
         m_height / 2 + logoSize / 2 + 13.f 
          + creatorLabel->getScaledContentSize().width / 2 
          - m_menu->getPositionX()
     );
     if (hasDesc && spaceForTags) {
-        creatorBtn->setPositionY(+7.5f);
+        m_developerBtn->setPositionY(+7.5f);
     }
     else if (hasDesc || spaceForTags) {
-        creatorBtn->setPositionY(0.f);
+        m_developerBtn->setPositionY(0.f);
     }
     else {
-        creatorBtn->setPositionY(-7.f);
+        m_developerBtn->setPositionY(-7.f);
     }
-    m_menu->addChild(creatorBtn);
+    m_menu->addChild(m_developerBtn);
 
     if (hasDesc) {
         auto descBG = CCScale9Sprite::create("square02b_001.png", {0.0f, 0.0f, 80.0f, 80.0f});
@@ -150,6 +150,10 @@ bool ModListCell::init(ModListLayer* list, CCSize const& size) {
     return true;
 }
 
+void ModListCell::disableDeveloperButton() {
+    m_developerBtn->setEnabled(false);
+}
+
 // ModCell
 
 ModCell* ModCell::create(
diff --git a/loader/src/ui/internal/list/ModListCell.hpp b/loader/src/ui/internal/list/ModListCell.hpp
index e65488fb..e4d47f22 100644
--- a/loader/src/ui/internal/list/ModListCell.hpp
+++ b/loader/src/ui/internal/list/ModListCell.hpp
@@ -23,6 +23,7 @@ protected:
     CCLabelBMFont* m_description;
     CCMenuItemToggler* m_enableToggle = nullptr;
     CCMenuItemSpriteExtra* m_unresolvedExMark;
+    CCMenuItemSpriteExtra* m_developerBtn;
 
     bool init(ModListLayer* list, CCSize const& size);
     void setupInfo(ModInfo const& info, bool spaceForTags, ModListDisplay display);
@@ -35,6 +36,8 @@ public:
     virtual void updateState() = 0;
     virtual CCNode* createLogo(CCSize const& size) = 0;
     virtual std::string getDeveloper() const = 0;
+    
+    void disableDeveloperButton();
 };
 
 /**