diff --git a/zephyr/CMakeLists.txt b/zephyr/CMakeLists.txt
index 609f039d4d0d712e3c12d75cd74f0c0bf979ff44..6915e9c3805625596594a0e9c498a9b30efa3fc5 100644
--- a/zephyr/CMakeLists.txt
+++ b/zephyr/CMakeLists.txt
@@ -7,6 +7,8 @@ MACRO(SUBDIRLIST result curdir)
       LIST(APPEND dirlist ${curdir}/${child})
     ENDIF()
   ENDFOREACH()
+  # Make sure modules are always in the same order for incremental compilation
+  LIST(SORT dirlist)
   SET(${result} ${dirlist})
 ENDMACRO()