diff --git a/interpreter/cling/lib/Interpreter/CMakeLists.txt b/interpreter/cling/lib/Interpreter/CMakeLists.txt
index c68ca4d3ed671e3f0d2b5c1c64353e75eddf511a..0702ee0b444ada111b522a2b9238a09beab089f1 100644
--- a/interpreter/cling/lib/Interpreter/CMakeLists.txt
+++ b/interpreter/cling/lib/Interpreter/CMakeLists.txt
@@ -282,6 +282,25 @@ if (UNIX)
     endif()
   endif()
 
+  # Modification for Fp311Online@Ruhr-Universität
+  option(BUILD_FOR_FLATPAK "Add include paths under /app to allow Cling to work in the Flatpak sandbox. (Please note that the Flatpak build manifest has to copy include files there in addition to setting this flag.)" OFF)
+  if (${BUILD_FOR_FLATPAK})
+    set(CLING_CXX_HEADERS "${CLING_CXX_HEADERS}:/app/include:/app/include/root")
+
+    file(GLOB flatpaksdk_cpp_inc_dirs LIST_DIRECTORIES TRUE "/usr/include/c++/*")
+    foreach(flatpaksdk_cpp_inc_dir ${flatpaksdk_cpp_inc_dirs})
+      get_filename_component(flatpaksdk_cpp_version ${flatpaksdk_cpp_inc_dir} NAME)
+      set(CLING_CXX_HEADERS "${CLING_CXX_HEADERS}:/app/include/c++/${flatpaksdk_cpp_version}")
+      file(GLOB flatpaksdk_cpp_arch_dirs LIST_DIRECTORIES TRUE "/usr/include/c++/${flatpaksdk_cpp_version}/*linux*")
+      foreach(flatpaksdk_cpp_arch_dir ${flatpaksdk_cpp_arch_dirs})
+        get_filename_component(flatpaksdk_cpp_arch ${flatpaksdk_cpp_arch_dir} NAME)
+        set(CLING_CXX_HEADERS "${CLING_CXX_HEADERS}:/app/include/c++/${flatpaksdk_cpp_version}/${flatpaksdk_cpp_arch}")
+      endforeach()
+    endforeach()
+
+  endif (${BUILD_FOR_FLATPAK})
+  # End Modification
+
   MESSAGE(STATUS "Cling will look for C++ headers in '${CLING_CXX_HEADERS}' at runtime.")
 
   # In modules builds we 'mount' our own stl modulemap for libstdc++. In order to do this,