diff --git a/modules/find/FindM.cmake b/modules/find/FindM.cmake
index 7d2578d14fa0c71a15c282408fe0bb568b3b4c5a..b49515ae0b350f0782b21c605578c55d19f3987f 100644
--- a/modules/find/FindM.cmake
+++ b/modules/find/FindM.cmake
@@ -37,8 +37,8 @@ include(FindPackageHandleStandardArgs)
 
 # tests used in this script is not compliant with -Werror
 # remove it temporarily from C flags
-set( CMAKE_C_FLAGS_COPY "${CMAKE_C_FLAGS}" CACHE STRING "" )
-string(REPLACE "-Werror" "" CMAKE_C_FLAGS ${CMAKE_C_FLAGS_COPY})
+set(CMAKE_C_FLAGS_COPY "${CMAKE_C_FLAGS}" CACHE STRING "" FORCE)
+string(REPLACE "-Werror" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS_COPY}")
 
 # check if we can call math directly without linking explicitly to libm
 include(CheckFunctionExists)
@@ -80,4 +80,4 @@ else()
 
 endif()
 
-set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS_COPY}" CACHE STRING "" FORCE)
+set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS_COPY}" CACHE STRING "" FORCE)