diff --git a/CMakeLists.txt b/CMakeLists.txt
index b62d2629fde12ad65f1155d6a9b03f053c1e3289..29b1d57dfc06d511bf460bc86738bc1891edd7cc 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -177,6 +177,7 @@ if(OGS_USE_MPI)
     add_definitions(-DUSE_MPI)
 endif()
 
+# Eigen
 add_definitions(-DEIGEN_INITIALIZE_MATRICES_BY_ZERO) # TODO check if needed
 if (EIGEN_NO_DEBUG)
     add_definitions(-DEIGEN_NO_DEBUG)
@@ -192,6 +193,11 @@ if(OGS_USE_EIGEN)
     endif()
 endif()
 
+if(MSVC AND OGS_32_BIT)
+    add_definitions(-DEIGEN_MAX_ALIGN_BYTES=0 -DEIGEN_DONT_ALIGN)
+endif()
+# End Eigen
+
 if (OGS_FATAL_ABORT)
     add_definitions(-DOGS_FATAL_ABORT)
 endif()