diff --git a/src/Airports/groundnetwork.cxx b/src/Airports/groundnetwork.cxx
index 7bb7ce3bb..701c07570 100644
--- a/src/Airports/groundnetwork.cxx
+++ b/src/Airports/groundnetwork.cxx
@@ -212,7 +212,7 @@ void FGGroundNetwork::saveElevationCache()
                        airport[0], airport[1], airport[2]);
             cacheData.append(buffer);
             if (!cacheData.exists()) {
-                cacheData.create_dir(0777);
+                cacheData.create_dir(0755);
             }
             cacheData.append(airport + "-groundnet-cache.txt");
             cachefile.open(cacheData.str().c_str());
@@ -300,7 +300,7 @@ void FGGroundNetwork::parseCache()
              airport[0], airport[1], airport[2]);
   cacheData.append(buffer);
   if (!cacheData.exists()) {
-    cacheData.create_dir(0777);
+    cacheData.create_dir(0755);
   }
   int index;
   double elev;
diff --git a/src/Main/fg_init.cxx b/src/Main/fg_init.cxx
index 394e28d87..8de7deda1 100644
--- a/src/Main/fg_init.cxx
+++ b/src/Main/fg_init.cxx
@@ -436,7 +436,7 @@ int fgInitConfig ( int argc, char **argv, bool reinit )
     
     simgear::Dir exportDir(simgear::Dir(dataPath).file("Export"));
     if (!exportDir.exists()) {
-      exportDir.create(0777);
+      exportDir.create(0755);
     }
     
     // Set /sim/fg-home and don't allow malign code to override it until
diff --git a/src/Traffic/TrafficMgr.cxx b/src/Traffic/TrafficMgr.cxx
index 22149877d..dfd8885f0 100644
--- a/src/Traffic/TrafficMgr.cxx
+++ b/src/Traffic/TrafficMgr.cxx
@@ -455,7 +455,7 @@ void FGTrafficManager::shutdown()
                        airport[0], airport[1], airport[2]);
             cacheData.append(buffer);
             if (!cacheData.exists()) {
-                cacheData.create_dir(0777);
+                cacheData.create_dir(0755);
             }
             cacheData.append(airport + "-cache.txt");
             //cerr << "Saving AI traffic heuristics" << endl;