diff --git a/loader/src/ui/mods/ModsLayer.cpp b/loader/src/ui/mods/ModsLayer.cpp
index aaeebe9c..619eb86f 100644
--- a/loader/src/ui/mods/ModsLayer.cpp
+++ b/loader/src/ui/mods/ModsLayer.cpp
@@ -416,6 +416,8 @@ bool ModsLayer::init() {
     mainTabs->setContentWidth(tabsTop->getContentWidth() - 45);
     mainTabs->setAnchorPoint({ .5f, .0f });
     mainTabs->setPosition(m_frame->convertToWorldSpace(tabsTop->getPosition() + ccp(0, 8)));
+    // Increment touch priority so the mods in the list don't override
+    mainTabs->setTouchPriority(-150);
 
     for (auto item : std::initializer_list<std::tuple<const char*, const char*, ModListSource*, const char*>> {
         { "download.png"_spr, "Installed", InstalledModListSource::get(InstalledModListType::All), "installed-button" },
diff --git a/loader/src/ui/mods/list/ModList.cpp b/loader/src/ui/mods/list/ModList.cpp
index 76260098..8278fc11 100644
--- a/loader/src/ui/mods/list/ModList.cpp
+++ b/loader/src/ui/mods/list/ModList.cpp
@@ -210,6 +210,8 @@ bool ModList::init(ModListSource* src, CCSize const& size) {
     searchFiltersMenu->setContentWidth(size.width - m_searchInput->getScaledContentWidth() - 5);
     searchFiltersMenu->setAnchorPoint({ 1, .5f });
     searchFiltersMenu->setScale(.75f);
+    // Set higher prio to not let list items override touch
+    searchFiltersMenu->setTouchPriority(-150);
 
     auto sortSpr = GeodeSquareSprite::createWithSpriteFrameName("GJ_sortIcon_001.png");
     auto sortBtn = CCMenuItemSpriteExtra::create(