diff --git a/src/mods.cpp b/src/mods.cpp
index 6126de7a19d1b08b9edcd55ecd4255438cf4f021..cb5a6b9fd265ff6fd8a42f6359d9747731bf07c8 100644
--- a/src/mods.cpp
+++ b/src/mods.cpp
@@ -47,6 +47,11 @@ static bool parseDependsLine(std::istream &is,
 void parseModContents(ModSpec &spec)
 {
 	// NOTE: this function works in mutual recursion with getModsInPath
+	Settings info;
+	info.readConfigFile((spec.path+DIR_DELIM+"mod.conf").c_str());
+
+	if (info.exists("name"))
+		spec.name = info.get("name");
 
 	spec.depends.clear();
 	spec.optdepends.clear();