diff --git a/src/gpu/GridGenerator/grid/GridBuilder/LevelGridBuilder.cpp b/src/gpu/GridGenerator/grid/GridBuilder/LevelGridBuilder.cpp
index c6fa80c7aa2041f26a1bd60b96739b331f3f5640..6dc3085f8cef95bafab0784ec8fd8c0688630ca5 100644
--- a/src/gpu/GridGenerator/grid/GridBuilder/LevelGridBuilder.cpp
+++ b/src/gpu/GridGenerator/grid/GridBuilder/LevelGridBuilder.cpp
@@ -76,17 +76,20 @@ std::shared_ptr<LevelGridBuilder> LevelGridBuilder::makeShared()
 
 void LevelGridBuilder::setSlipBoundaryCondition(SideType sideType, real nomalX, real normalY, real normalZ)
 {
-    SPtr<SlipBoundaryCondition> slipBoundaryCondition = SlipBoundaryCondition::make(nomalX, normalY, normalZ);
+    for (uint level = 0; level < getNumberOfGridLevels(); level++)
+    {
+        SPtr<SlipBoundaryCondition> slipBoundaryCondition = SlipBoundaryCondition::make(nomalX, normalY, normalZ);
 
-    auto side = SideFactory::make(sideType);
+        auto side = SideFactory::make(sideType);
 
-    slipBoundaryCondition->side = side;
-    slipBoundaryCondition->side->addIndices(grids, 0, slipBoundaryCondition);
+        slipBoundaryCondition->side = side;
+        slipBoundaryCondition->side->addIndices(grids, level, slipBoundaryCondition);
 
-    slipBoundaryCondition->fillSlipNormalLists();
-    boundaryConditions[0]->slipBoundaryConditions.push_back(slipBoundaryCondition);
+        slipBoundaryCondition->fillSlipNormalLists();
+        boundaryConditions[level]->slipBoundaryConditions.push_back(slipBoundaryCondition);
 
-    *logging::out << logging::Logger::INFO_INTERMEDIATE << "Set Slip BC on level " << 0 << " with " << (int)slipBoundaryCondition->indices.size() << "\n";
+        *logging::out << logging::Logger::INFO_INTERMEDIATE << "Set Slip BC on level " << level << " with " << (int)slipBoundaryCondition->indices.size() << "\n";
+    }
 }
 
 void LevelGridBuilder::setStressBoundaryCondition(  SideType sideType,