--- a/bin/CMakeLists.txt
+++ b/bin/CMakeLists.txt
@@ -55,7 +55,7 @@
   )
   ")
 else()
-  install(FILES "${CMAKE_CURRENT_BINARY_DIR}/xmoto.bin" DESTINATION share/xmoto)
-  install(DIRECTORY Textures/Musics DESTINATION share/xmoto/Textures)
-  install(DIRECTORY Textures/Fonts DESTINATION share/xmoto/Textures)
+  install(FILES "${CMAKE_CURRENT_BINARY_DIR}/xmoto.bin" DESTINATION share/games/xmoto)
+  install(DIRECTORY Textures/Musics DESTINATION share/games/xmoto/Textures)
+  install(DIRECTORY Textures/Fonts DESTINATION share/games/xmoto/Textures)
 endif()
--- a/src/common/VFileIO.cpp
+++ b/src/common/VFileIO.cpp
@@ -1323,7 +1323,7 @@
   /* Try some default fallbacks */
   if (!m_bGotSystemDataDir) {
     const std::vector<std::string> dataDirs = {
-      "/usr/share", "/usr/local/share",
+      "/usr/share/games"
     };
     for (auto &dir : dataDirs) {
       if (isDir(dir + "/xmoto")) {
@@ -1338,7 +1338,7 @@
     m_SystemDataDir = "/usr/share";
   }
 
-  m_SystemLocaleDir = m_SystemDataDir + "/locale";
+  m_SystemLocaleDir = "/usr/share/locale";
   m_SystemDataDir = m_SystemDataDir + "/xmoto";
 #endif
 #endif /* Assume unix-like */
