diff --git a/src/main.cpp b/src/main.cpp
index 1cc479d65eb57bb5a1a7fbab91d37bfc264918f1..00248a2032cb3a043409dfad92ebf5752bd12204 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -1060,10 +1060,6 @@ int main(int argc, char *argv[])
 	std::locale::global(std::locale("C"));
 	// This enables printing all characters in bitmap font
 	setlocale(LC_CTYPE, "en_US");
-	setlocale(LC_ALL, "");
-	bindtextdomain("minetest-c55", "./../locale");
-	textdomain("minetest-c55");
-
 	/*
 		Parse command line
 	*/
@@ -1135,6 +1131,10 @@ int main(int argc, char *argv[])
 
 	// Create user data directory
 	fs::CreateDir(porting::path_userdata);
+
+	setlocale(LC_ALL, "");
+	bindtextdomain("minetest-c55", (porting::path_userdata+"/locale").c_str());
+	textdomain("minetest-c55");
 	
 	// Initialize debug streams
 #ifdef RUN_IN_PLACE