diff --git a/libhyprcursor/hyprcursor.cpp b/libhyprcursor/hyprcursor.cpp
index 90e6a8b..89913a7 100644
--- a/libhyprcursor/hyprcursor.cpp
+++ b/libhyprcursor/hyprcursor.cpp
@@ -89,6 +89,9 @@ static std::string getFullPathForThemeName(const std::string& name) {
             if (!themeDir.is_directory())
                 continue;
 
+            if (!name.empty() && themeDir.path().stem().string() != name)
+                continue;
+
             const auto MANIFESTPATH = themeDir.path().string() + "/manifest.hl";
 
             if (std::filesystem::exists(MANIFESTPATH))
@@ -106,6 +109,9 @@ static std::string getFullPathForThemeName(const std::string& name) {
             if (!themeDir.is_directory())
                 continue;
 
+            if (!name.empty() && themeDir.path().stem().string() != name)
+                continue;
+
             const auto MANIFESTPATH = themeDir.path().string() + "/manifest.hl";
 
             if (std::filesystem::exists(MANIFESTPATH))
@@ -113,6 +119,9 @@ static std::string getFullPathForThemeName(const std::string& name) {
         }
     }
 
+    if (!name.empty()) // try without name
+        return getFullPathForThemeName("");
+
     return "";
 }