diff --git a/include/lsgrmHeader.h b/include/lsgrmHeader.h
index 05c3bfad77d9f615aa2a55267f05e25932ca20f7..877da15577b4ded2d23ad3caa44a7fee271c6610 100644
--- a/include/lsgrmHeader.h
+++ b/include/lsgrmHeader.h
@@ -21,24 +21,6 @@
 #include "otbImageFileWriter.h"
 #endif
 
-// Check windows
-#if _WIN32 || _WIN64
-#if _WIN64
-#define ENVIRONMENT64
-#else
-#define ENVIRONMENT32
-#endif
-#endif
-
-// Check GCC
-#if __GNUC__
-#if __x86_64__ || __ppc64__
-#define ENVIRONMENT64
-#else
-#define ENVIRONMENT32
-#endif
-#endif
-
 /*
  * This function returns TRUE if the process #myrank is assigned
  * to the task #div in a pool of #nprocs processes
diff --git a/include/lsgrmSegmenter.h b/include/lsgrmSegmenter.h
index dcdcf5bf4da7be0e0a9f8e9a6bdb9e9005439d70..412c6c258fcf49ccfd906d1eabb89adf12632e59 100644
--- a/include/lsgrmSegmenter.h
+++ b/include/lsgrmSegmenter.h
@@ -1,5 +1,24 @@
 #ifndef __LSRM_SEGMENTER_H
 #define __LSRM_SEGMENTER_H
+
+// Check windows
+#if _WIN32 || _WIN64
+#if _WIN64
+#define ENVIRONMENT64
+#else
+#define ENVIRONMENT32
+#endif
+#endif
+
+// Check GCC
+#if __GNUC__
+#if __x86_64__ || __ppc64__
+#define ENVIRONMENT64
+#else
+#define ENVIRONMENT32
+#endif
+#endif
+
 #include "macro-generator.h"
 #include "grmSegmenter.h"
 #include "lsgrmGraphToOtbImage.h"
@@ -175,6 +194,9 @@ public:
   {
     long long unsigned int memory = 0;
 
+    // sizeof(graph)... even if not significant
+    memory += sizeof(GraphType);
+
     for(auto& node : this->m_Graph.m_Nodes)
       {
       // size of the contour (boost::dynamic_bitset)