diff --git a/Geo/GModelIO_OCC.cpp b/Geo/GModelIO_OCC.cpp
index a29d191032ba44f85e23dbb6f8e52b07eb1e532e..834758d7c3ae85615a2b6da2603e4ad8c554356b 100644
--- a/Geo/GModelIO_OCC.cpp
+++ b/Geo/GModelIO_OCC.cpp
@@ -891,10 +891,12 @@ void OCC_Internals::addCone(int tag, double x1, double y1, double z1,
   bind(result, tag);
 }
 
+/*
 void OCC_Internals::addPipe(int tag, int dim, int inTag, std::vector<int> edgeTags)
 {
 
 }
+*/
 
 void OCC_Internals::addThruSections(int tag, std::vector<int> wireTags)
 {
@@ -1054,7 +1056,7 @@ void OCC_Internals::applyBooleanOperator(int tag, BooleanOperator op,
 
   TopoDS_Shape result;
 
-#if OCC_VERSION_HEX >= 0x060900
+#if 1//OCC_VERSION_HEX >= 0x060900
   TopTools_ListOfShape objectShapes, toolShapes;
   for(int dim = 0; dim < 4; dim++){
     for(unsigned int i = 0; i < objects[dim].size(); i++){
@@ -1076,12 +1078,12 @@ void OCC_Internals::applyBooleanOperator(int tag, BooleanOperator op,
     switch(op){
     case OCC_Internals::Union :
       {
-#if OCC_VERSION_HEX < 0x060900
+#if 1//OCC_VERSION_HEX < 0x060900
         for(int dim = 0; dim < 4; dim++){
           if(objects[dim].empty() || tools[dim].empty()) continue;
           result = objects[dim][0];
-          for(int i = 1; i < objects.size(); i++){
-            BRepAlgoAPI_Fuse fuse(result, objects[i]);
+          for(int i = 1; i < objects[dim].size(); i++){
+            BRepAlgoAPI_Fuse fuse(result, objects[dim][i]);
             fuse.Build();
             if(!fuse.IsDone()) {
               Msg::Error("Fuse operation cannot be performed");
@@ -1091,8 +1093,8 @@ void OCC_Internals::applyBooleanOperator(int tag, BooleanOperator op,
               result = fuse.Shape();
             }
           }
-          for(int i = 0; i < tools.size(); i++){
-            BRepAlgoAPI_Fuse fuse(result, tools[i]);
+          for(int i = 0; i < tools[dim].size(); i++){
+            BRepAlgoAPI_Fuse fuse(result, tools[dim][i]);
             fuse.Build();
             if(!fuse.IsDone()) {
               Msg::Error("Fuse operation cannot be performed");
@@ -1121,7 +1123,7 @@ void OCC_Internals::applyBooleanOperator(int tag, BooleanOperator op,
       break;
     case OCC_Internals::Intersection :
       {
-#if OCC_VERSION_HEX < 0x060900
+#if 1//OCC_VERSION_HEX < 0x060900
         for(int dim = 0; dim < 4; dim++){
           if(objects[dim].empty() || tools[dim].empty()) continue;
           if(objects[dim].size() != 1 || tools[dim].size() != 1){
@@ -1157,7 +1159,7 @@ void OCC_Internals::applyBooleanOperator(int tag, BooleanOperator op,
     case OCC_Internals::Difference :
     default:
       {
-#if OCC_VERSION_HEX < 0x060900
+#if 1//OCC_VERSION_HEX < 0x060900
         for(int dim = 0; dim < 4; dim++){
           if(objects[dim].empty() || tools[dim].empty()) continue;
           if(objects[dim].size() != 1 || tools[dim].size() != 1){
@@ -1165,7 +1167,7 @@ void OCC_Internals::applyBooleanOperator(int tag, BooleanOperator op,
             return;
           }
           else{
-            BRepAlgoAPI_Cut cut(objects[0], tools[0]);
+            BRepAlgoAPI_Cut cut(objects[dim][0], tools[dim][0]);
             cut.Build();
             if(!cut.IsDone()) {
               Msg::Error("Cut operation cannot be performed");
@@ -1192,7 +1194,7 @@ void OCC_Internals::applyBooleanOperator(int tag, BooleanOperator op,
 
     case OCC_Internals::Fragments :
       {
-#if OCC_VERSION_HEX < 0x060900
+#if 1//OCC_VERSION_HEX < 0x060900
         Msg::Error("Boolean fragments only available with OpenCASCADE >= 6.9");
         return;
 #else