diff --git a/CMakeLists.txt b/CMakeLists.txt
index 326edf260d8ad88e8c2753c60f35724bb5b6687f..1566c48c83efe3a8e24f40cb938eb47ae78afe67 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -652,9 +652,14 @@ else()
   list ( APPEND waLBerla_OPTIONAL_BOOST_COMPONENTS system )
 endif()
 
-if ( WALBERLA_BUILD_WITH_PYTHON AND WALBERLA_CXX_COMPILER_IS_MSVC )
+if ( WALBERLA_BUILD_WITH_PYTHON )
+  if( WALBERLA_CXX_COMPILER_IS_MSVC )
     get_filename_component(PYTHON_REQUIRED_LIB ${PYTHON_LIBRARY} NAME_WE)
     list( APPEND waLBerla_REQUIRED_BOOST_COMPONENTS ${PYTHON_REQUIRED_LIB} )
+  elseif( WALBERLA_USE_STD_FILESYSTEM OR WALBERLA_USE_STD_EXPERIMENTAL_FILESYSTEM )
+    list( APPEND waLBerla_REQUIRED_BOOST_COMPONENTS system )
+    list( REMOVE_ITEM waLBerla_OPTIONAL_BOOST_COMPONENTS system )
+  endif()
 endif()
 
 # This variable is necessary, if the CMAKE version used is not aware of a more recent boost version (keep this up to date!)
@@ -749,11 +754,13 @@ if ( WALBERLA_BUILD_WITH_PYTHON AND NOT WALBERLA_CXX_COMPILER_IS_MSVC)
         SET(_boost_MULTITHREADED "-mt")
     endif()
     if( PYTHON_LIBRARY MATCHES "python3" )
+        string(REPLACE "." ";" VERSION_LIST ${PYTHONLIBS_VERSION_STRING})
+        list(GET VERSION_LIST 0 PY_VER_MAJOR)
+        list(GET VERSION_LIST 1 PY_VER_MINOR)
         find_library( BOOST_PYTHON_LIBRARY NAMES
-                boost_python37${_boost_MULTITHREADED} boost_python36${_boost_MULTITHREADED} boost_python35${_boost_MULTITHREADED}
-                boost_python-py37${_boost_MULTITHREADED} boost_python-py36${_boost_MULTITHREADED} boost_python-py35${_boost_MULTITHREADED}
-                boost_python-py34${_boost_MULTITHREADED} boost_python-py33${_boost_MULTITHREADED}
-                boost_python3${_boost_MULTITHREADED}
+                boost_python${PY_VER_MAJOR}${PY_VER_MINOR}${_boost_MULTITHREADED}
+                boost_python-py${PY_VER_MAJOR}${PY_VER_MINOR}${_boost_MULTITHREADED}
+                boost_python${PY_VER_MAJOR}${_boost_MULTITHREADED}
                 boost_python${_boost_MULTITHREADED}
                 PATHS ${Boost_LIBRARY_DIRS} NO_DEFAULT_PATH )
     else()