diff --git a/src/GridGenerator/grid/Grid.h b/src/GridGenerator/grid/Grid.h
index c4101ebbd5d23e8322897109b41544858382db8c..9332ac2bffffbc8c23f81a6c13c46c4bd96df8fc 100644
--- a/src/GridGenerator/grid/Grid.h
+++ b/src/GridGenerator/grid/Grid.h
@@ -106,6 +106,8 @@ public:
     HOST virtual bool getPeriodicityY() = 0;
     HOST virtual bool getPeriodicityZ() = 0;
 
+    HOST virtual void setEnableFixRefinementIntoTheWall( bool enableFixRefinementIntoTheWall ) = 0;
+
     HOST virtual void freeMemory() = 0;
 
 
diff --git a/src/GridGenerator/grid/GridBuilder/LevelGridBuilder.cpp b/src/GridGenerator/grid/GridBuilder/LevelGridBuilder.cpp
index e3a7cf3cb3473fc9af390419035d6c9b5825d7e1..adbf9f1b48fb60463320d05884c88f0b7ff91e95 100644
--- a/src/GridGenerator/grid/GridBuilder/LevelGridBuilder.cpp
+++ b/src/GridGenerator/grid/GridBuilder/LevelGridBuilder.cpp
@@ -126,6 +126,12 @@ void LevelGridBuilder::setNoSlipBoundaryCondition(SideType sideType)
     }
 }
 
+VF_PUBLIC void LevelGridBuilder::setEnableFixRefinementIntoTheWall(bool enableFixRefinementIntoTheWall)
+{
+    for( uint level = 0; level < this->grids.size(); level++ )
+        grids[level]->setEnableFixRefinementIntoTheWall( enableFixRefinementIntoTheWall );
+}
+
 VF_PUBLIC void LevelGridBuilder::setCommunicationProcess(int direction, uint process)
 {
     this->communicationProcesses[direction] = process;
diff --git a/src/GridGenerator/grid/GridBuilder/LevelGridBuilder.h b/src/GridGenerator/grid/GridBuilder/LevelGridBuilder.h
index 787161759e2b8090c4c5ee203c427cf616c1a995..64fc74759f173fbd3c6c729739cca129aa3e2d8e 100644
--- a/src/GridGenerator/grid/GridBuilder/LevelGridBuilder.h
+++ b/src/GridGenerator/grid/GridBuilder/LevelGridBuilder.h
@@ -47,6 +47,8 @@ public:
     VF_PUBLIC void setPeriodicBoundaryCondition(bool periodic_X, bool periodic_Y, bool periodic_Z);
     VF_PUBLIC void setNoSlipBoundaryCondition(SideType sideType);
 
+    VF_PUBLIC void setEnableFixRefinementIntoTheWall( bool enableFixRefinementIntoTheWall );
+
     VF_PUBLIC void setCommunicationProcess(int direction, uint process);
 
     VF_PUBLIC uint getCommunicationProcess(int direction) override;
diff --git a/src/GridGenerator/grid/GridImp.cu b/src/GridGenerator/grid/GridImp.cu
index ddb88504a19ec30c1bfcd38d0f1c9a9f711c8ff3..c9b48471439336e2f60efa5fe006cebab3d4f93b 100644
--- a/src/GridGenerator/grid/GridImp.cu
+++ b/src/GridGenerator/grid/GridImp.cu
@@ -41,6 +41,10 @@ HOST GridImp::GridImp(Object* object, real startX, real startY, real startZ, rea
     gridStrategy(gridStrategy),
     distribution(distribution),
     level(level),
+    periodicityX(false),
+    periodicityY(false),
+    periodicityZ(false),
+    enableFixRefinementIntoTheWall(false),
     gridInterface(nullptr),
     neighborIndexX(nullptr),
     neighborIndexY(nullptr),
@@ -105,8 +109,11 @@ HOST void GridImp::inital(const SPtr<Grid> fineGrid, uint numberOfLayers)
     *logging::out << logging::Logger::INFO_INTERMEDIATE << "Start fixOddCells()\n";
     gridStrategy->fixOddCells( shared_from_this() );
     
-    *logging::out << logging::Logger::INFO_INTERMEDIATE << "Start fixRefinementIntoWall()\n";
-    gridStrategy->fixRefinementIntoWall(shared_from_this());
+    if( enableFixRefinementIntoTheWall )
+    {
+        *logging::out << logging::Logger::INFO_INTERMEDIATE << "Start fixRefinementIntoWall()\n";
+        gridStrategy->fixRefinementIntoWall(shared_from_this());
+    }
     
     *logging::out << logging::Logger::INFO_INTERMEDIATE << "Start findEndOfGridStopperNodes()\n";
 	gridStrategy->findEndOfGridStopperNodes(shared_from_this());
@@ -704,6 +711,11 @@ bool GridImp::getPeriodicityZ()
     return this->periodicityZ;
 }
 
+void GridImp::setEnableFixRefinementIntoTheWall(bool enableFixRefinementIntoTheWall)
+{
+    this->enableFixRefinementIntoTheWall = enableFixRefinementIntoTheWall;
+}
+
 HOSTDEVICE uint GridImp::transCoordToIndex(const real &x, const real &y, const real &z) const
 {
     const uint xIndex = getXIndex(x);
diff --git a/src/GridGenerator/grid/GridImp.h b/src/GridGenerator/grid/GridImp.h
index 27d141710a8d99236f6c7c628a911d376175b5dc..2209c952d3f9fc0fb1e35a8ac6a279802240c359 100644
--- a/src/GridGenerator/grid/GridImp.h
+++ b/src/GridGenerator/grid/GridImp.h
@@ -85,6 +85,8 @@ private:
 
 	uint numberOfSolidBoundaryNodes;
 
+    bool enableFixRefinementIntoTheWall;
+
 public:
     HOST void inital(const SPtr<Grid> fineGrid, uint numberOfLayers) override;
     HOST void setOddStart( bool xOddStart, bool yOddStart, bool zOddStart ) override;
@@ -99,6 +101,8 @@ public:
     bool getPeriodicityY() override;
     bool getPeriodicityZ() override;
 
+    void setEnableFixRefinementIntoTheWall( bool enableFixRefinementIntoTheWall ) override;
+
     HOSTDEVICE void setCellTo(uint index, char type);
     HOSTDEVICE void setNonStopperOutOfGridCellTo(uint index, char type);