diff --git a/src/cpu/MultiphaseFlow/BoundaryConditions/MultiphaseNoSlipBCStrategy.cpp b/src/cpu/MultiphaseFlow/BoundaryConditions/MultiphaseNoSlipBCStrategy.cpp
index 6632c1d8e55cd18e0ff72ef296e8d1314e4c9bff..0bded101678e7ff728846b43f016ad592f477fa6 100644
--- a/src/cpu/MultiphaseFlow/BoundaryConditions/MultiphaseNoSlipBCStrategy.cpp
+++ b/src/cpu/MultiphaseFlow/BoundaryConditions/MultiphaseNoSlipBCStrategy.cpp
@@ -83,12 +83,10 @@ void MultiphaseNoSlipBCStrategy::applyBC()
             // quadratic bounce back
             const int invDir = D3Q27System::INVDIR[fdir];
             real fReturn = f[invDir];
-            distributions->setDistributionForDirection(fReturn, x1 + D3Q27System::DX1[invDir], x2 + D3Q27System::DX2[invDir],
-                                                       x3 + D3Q27System::DX3[invDir], fdir);
+            distributions->setDistributionForDirection(fReturn, x1 + D3Q27System::DX1[invDir], x2 + D3Q27System::DX2[invDir], x3 + D3Q27System::DX3[invDir], fdir);
             // distributions->setDistributionForDirection(fReturn, x1, x2, x3, invDir);//delay BB
             real hReturn = h[invDir];
-            distributionsH->setDistributionForDirection(hReturn, x1 + D3Q27System::DX1[invDir],
-                                                        x2 + D3Q27System::DX2[invDir], x3 + D3Q27System::DX3[invDir], fdir);
+            distributionsH->setDistributionForDirection(hReturn, x1 + D3Q27System::DX1[invDir], x2 + D3Q27System::DX2[invDir], x3 + D3Q27System::DX3[invDir], fdir);
             // distributionsH->setDistributionForDirection(hReturn, x1, x2, x3, invDir);//delay BB
             if (distributionsH2) {
                 real h2Return = h2[invDir];
diff --git a/src/cpu/MultiphaseFlow/BoundaryConditions/MultiphaseVelocityBCStrategy.cpp b/src/cpu/MultiphaseFlow/BoundaryConditions/MultiphaseVelocityBCStrategy.cpp
index 99d0e085ef6ecf3eb1c59621e03f1ac95d1d69ef..8a35ecfc53321d9f499aac1c3a711a23ef1b6995 100644
--- a/src/cpu/MultiphaseFlow/BoundaryConditions/MultiphaseVelocityBCStrategy.cpp
+++ b/src/cpu/MultiphaseFlow/BoundaryConditions/MultiphaseVelocityBCStrategy.cpp
@@ -84,8 +84,10 @@ void MultiphaseVelocityBCStrategy::applyBC()
    
    D3Q27System::calcDensity(h, phi);
 
+   phi = 1;
+
    calcMacrosFct(f, p1, vx1, vx2, vx3);
-   vx1=bcPtr->getBoundaryVelocityX1();
+   vx1 = bcPtr->getBoundaryVelocityX1();
    vx2 = bcPtr->getBoundaryVelocityX2();
    vx3 = bcPtr->getBoundaryVelocityX3();
    p1 = vf::basics::constant::c0o1;
diff --git a/src/cpu/MultiphaseFlow/LBM/MultiphaseScaleDistributionLBMKernel.cpp b/src/cpu/MultiphaseFlow/LBM/MultiphaseScaleDistributionLBMKernel.cpp
index ba89d0169c185725cebf94336fa85f0bfd402342..d0fdabf44eb520f1b082ab07a403124310fb4633 100644
--- a/src/cpu/MultiphaseFlow/LBM/MultiphaseScaleDistributionLBMKernel.cpp
+++ b/src/cpu/MultiphaseFlow/LBM/MultiphaseScaleDistributionLBMKernel.cpp
@@ -5155,7 +5155,7 @@ void MultiphaseScaleDistributionLBMKernel::calculate(int step)
                         //scaleNorm = scaleNorm * scaleNorm;
                         //scaleNorm = scaleNorm * scaleNorm;
                         //scaleNorm = scaleNorm * scaleNorm;
-                        if  (phi[DIR_000] > phiLim) //(true) // ((phi[DIR_000] > phiLim)||(normX1*vvx+normX2*vvy+normX3*vvz<0))
+                        if  (true)//(phi[DIR_000] > phiLim) //(true) // ((phi[DIR_000] > phiLim)||(normX1*vvx+normX2*vvy+normX3*vvz<0))
 						{
                         
                         normX1 = (normX1 * (c1o1 - mixNormal) + mixNormal * MomX1 / MomXDenom) * scaleNorm;
@@ -5933,12 +5933,15 @@ void MultiphaseScaleDistributionLBMKernel::findNeighbors(CbArray3D<real, Indexer
             //else
             //    phi[k] = 0.0; // unwetting
             //phi[k] = (*ph)(x1, x2, x3) * 0.7;
-            if (bcArray->getBC(x1, x2, x3)->hasNoSlipBoundaryFlag(D3Q27System::INVDIR[k]))
+            SPtr<BoundaryConditions> bcPtr = bcArray->getBC(x1, x2, x3);
+            if (bcPtr)
 			{
-			   if(bcArray->getBC(x1, x2, x3)->getNoSlipSecondaryOption(D3Q27System::INVDIR[k]) == 0)
-                  phi[k] = (*ph)(x1, x2, x3); // neutral wetting
-			   else
-                  phi[k] = 0.0; // unwetting
+                if (bcPtr->hasNoSlipBoundaryFlag(D3Q27System::INVDIR[k])) {
+                    if (bcPtr->getNoSlipSecondaryOption(D3Q27System::INVDIR[k]) == 0)
+                        phi[k] = (*ph)(x1, x2, x3); // neutral wetting
+                    else
+                        phi[k] = 0.0; // unwetting
+                }
 		    }
 
 		}
@@ -5964,11 +5967,14 @@ void MultiphaseScaleDistributionLBMKernel::findNeighbors2(CbArray3D<real, Indexe
             // else
             //     phi[k] = 0.0; // unwetting
             // phi[k] = (*ph)(x1, x2, x3) * 0.7;
-            if (bcArray->getBC(x1, x2, x3)->hasNoSlipBoundaryFlag(D3Q27System::INVDIR[k])) {
-               if (bcArray->getBC(x1, x2, x3)->getNoSlipSecondaryOption(D3Q27System::INVDIR[k]) == 0)
-                  phi2[k] = (*ph)(x1, x2, x3); // neutral wetting
-               else
-                  phi2[k] = 0.0; // unwetting
+            SPtr<BoundaryConditions> bcPtr = bcArray->getBC(x1, x2, x3);
+            if (bcPtr) {
+                if (bcPtr->hasNoSlipBoundaryFlag(D3Q27System::INVDIR[k])) {
+                    if (bcPtr->getNoSlipSecondaryOption(D3Q27System::INVDIR[k]) == 0)
+                        phi[k] = (*ph)(x1, x2, x3); // neutral wetting
+                    else
+                        phi[k] = 0.0; // unwetting
+                }
             }
         }
     }
diff --git a/src/cpu/VirtualFluidsCore/BoundaryConditions/BoundaryConditions.h b/src/cpu/VirtualFluidsCore/BoundaryConditions/BoundaryConditions.h
index cbcc2b0da82bfd44eaeb5ff090adb246fc27c815..9d09e5b440cc0cbe45739d681c172865e9cc8b83 100644
--- a/src/cpu/VirtualFluidsCore/BoundaryConditions/BoundaryConditions.h
+++ b/src/cpu/VirtualFluidsCore/BoundaryConditions/BoundaryConditions.h
@@ -327,11 +327,11 @@ protected:
     long long densityBoundaryFlags{ 0 };
     long long wallModelBoundaryFlags{ 0 };
 
-    float bcVelocityX1{ vf::basics::constant::c0o1 };
-    float bcVelocityX2{ vf::basics::constant::c0o1 };
-    float bcVelocityX3{ vf::basics::constant::c0o1 };
-    float bcDensity{ vf::basics::constant::c0o1 };
-    float bcPhaseField{ vf::basics::constant::c0o1 };
+    float bcVelocityX1{ 0.0 };
+    float bcVelocityX2{ 0.0 };
+    float bcVelocityX3{ 0.0 };
+    float bcDensity{ 0.0 };
+    float bcPhaseField{ 0.0 };
 
     float nx1{ vf::basics::constant::c0o1 }, nx2{ vf::basics::constant::c0o1 }, nx3{ vf::basics::constant::c0o1 };