diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2fe1886e456af4b7b95bfed82865c54e6bdb8bc3..88e03644c771a685d93e50b62e9a379c9bb191a5 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1288,7 +1288,15 @@ endif(ENABLE_BUILD_LIB)
 if(ENABLE_BUILD_SHARED OR ENABLE_BUILD_DYNAMIC)
   install(TARGETS shared DESTINATION ${GMSH_LIB} OPTIONAL)
   if(WIN32 OR CYGWIN)
-    # copy missing dlls    
+    # install these DLLs until we figure out how to link them in statically
+    find_program(GCC_DLL libgcc_s_sjlj-1.dll)
+    find_program(GFORTRAN_DLL libgfortran-3.dll)
+    find_program(STDC_DLL libstdc++-6.dll)
+    if(GCC_DLL AND GFORTRAN_DLL AND STDC_DLL)
+      message(STATUS "Will install extra DLLs for Windows")
+      install(FILES ${GCC_DLL} ${GFORTRAN_DLL} ${STDC_DLL}
+              DESTINATION ${GMSH_LIB} OPTIONAL)
+    endif(GCC_DLL AND GFORTRAN_DLL AND STDC_DLL)
   endif(WIN32 OR CYGWIN)
 endif(ENABLE_BUILD_SHARED OR ENABLE_BUILD_DYNAMIC)