diff --git a/GeoModelIO/GeoModelRead/src/ReadGeoModel.cpp b/GeoModelIO/GeoModelRead/src/ReadGeoModel.cpp
index 2c7d3e1f49bcb1082939e9f89debe69045f201be..43259148c7269191b50c30d490b41f013a31031b 100644
--- a/GeoModelIO/GeoModelRead/src/ReadGeoModel.cpp
+++ b/GeoModelIO/GeoModelRead/src/ReadGeoModel.cpp
@@ -3170,9 +3170,12 @@ void ReadGeoModel::createBooleanShapeOperands(boolean_shapes_operands_info* shap
     if (shapes_info_sub->size() == 0) return;
 
     // debug
-    std::cout << "\ncreateBooleanShapeOperands() - start..." << std::endl;
-    inspectListShapesToBuild(*shapes_info_sub);
-    std::cout << std::endl;
+    if (m_loglevel >= 3)
+    {
+        std::cout << "\ncreateBooleanShapeOperands() - start..." << std::endl;
+        inspectListShapesToBuild(*shapes_info_sub);
+        std::cout << std::endl;
+    }
 
     // Iterate over the list. The size may be incremented while iterating
     // (therefore, we cannot use iterators)