diff --git a/src/main.cpp b/src/main.cpp
index ae52bc36d73ae7c7aaa4d2eb8c78db36f8e8d0dd..be932cdf2fbf47e3831baa565608c971a1fd3e78 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -1140,6 +1140,9 @@ int main(int argc, char *argv[])
 	// Initialize porting::path_data and porting::path_userdata
 	porting::initializePaths();
 
+	// Create user data directory
+	fs::CreateDir(porting::path_userdata);
+	
 	// Initialize debug streams
 #ifdef RUN_IN_PLACE
 	std::string debugfile = DEBUGFILE;
@@ -1152,9 +1155,6 @@ int main(int argc, char *argv[])
 
 	DSTACK(__FUNCTION_NAME);
 
-	// Create user data directory
-	fs::CreateDir(porting::path_userdata);
-	
 	// Init material properties table
 	//initializeMaterialProperties();
 
diff --git a/src/servermain.cpp b/src/servermain.cpp
index 6eb45ea22a647def391a456f077f986c1a56bfdd..91b31fb58ee98d9acb734de62c245259175f64de 100644
--- a/src/servermain.cpp
+++ b/src/servermain.cpp
@@ -139,6 +139,9 @@ int main(int argc, char *argv[])
 	// Initialize porting::path_data and porting::path_userdata
 	porting::initializePaths();
 
+	// Create user data directory
+	fs::CreateDir(porting::path_userdata);
+	
 	// Initialize debug streams
 #ifdef RUN_IN_PLACE
 	std::string debugfile = DEBUGFILE;