diff --git a/src/bc.f90 b/src/bc.f90
index a27ae758a23fcf208608968536be9ba09ef5fa40..d3235856fcc85a844f6019150e5de54da25dc920 100644
--- a/src/bc.f90
+++ b/src/bc.f90
@@ -40,22 +40,7 @@
       elseif (bcx.eq.'p') then
         ! done through the sync routines
       elseif (bcx.eq.'i') then
-        if (myid.eq.0) then
-          call random_number(random)
-          alpha=.5_pr
-          mm=0
-          do j=jmin,jmax; do l=lmin,lmax
-            mm=mm+1
-            if (bcy.eq.'w'.and.bcz.eq.'w') dist=delta-max(abs(yc(j)),abs(zc(l)))
-            if (bcy.eq.'w'.and.bcz.eq.'p') dist=delta-abs(yc(j))
-            if (bcy.eq.'p'.and.bcz.eq.'w') dist=delta-abs(zc(l))
-            do m=1,gc
-              u(imin-m,j,l)=ubulk0*dist/delta + (random(mm)-.5_pr)*alpha*ubulk
-              v(imin-m,:,:)=0._pr
-              w(imin-m,:,:)=0._pr
-            enddo
-          enddo; enddo
-        endif
+        ! see inflow routine
         if (myid.eq.nrprocs-1) then
            do 8 m=1,gc
            u(imax+m-1,:,:)=u(imax-1,:,:)
@@ -114,6 +99,35 @@
       return
       end
 
+!####################################################################
+!> @author Holger Grosshans
+!> @brief inflow boundary condition
+      subroutine inflow
+      use var
+      real(kind=pr),dimension(dimj*diml) :: random
+      real(kind=pr) :: &
+            alpha,dist
+      integer :: i,j,l,m,mm
+
+
+      call random_number(random)
+      alpha=.1_pr
+      mm=0
+      do j=jmin,jmax; do l=lmin,lmax
+        mm=mm+1
+        if (bcy.eq.'w'.and.bcz.eq.'w') dist=delta-max(abs(yc(j)),abs(zc(l)))
+        if (bcy.eq.'w'.and.bcz.eq.'p') dist=delta-abs(yc(j))
+        if (bcy.eq.'p'.and.bcz.eq.'w') dist=delta-abs(zc(l))
+        do m=1,gc
+          u(imin-m,j,l)=ubulk0*dist/delta + (random(mm)-.5_pr)*alpha*ubulk0
+!          v(imin-m,j,l)=0._pr
+!          w(imin-m,j,l)=0._pr
+        enddo
+      enddo; enddo
+
+      return
+      end
+
 
 !####################################################################
 !> @author Holger Grosshans
diff --git a/src/fluid.f90 b/src/fluid.f90
index 669ea26124f876b16e77832eee005b44674d84ef..b96194da4ec6bb371ce7436e417f2dcec4f4f04b 100644
--- a/src/fluid.f90
+++ b/src/fluid.f90
@@ -9,6 +9,7 @@
 
       call ddt
       call deferredCorrection
+      if ((bcx.eq.'i').and.(myid.eq.0)) call inflow
 
       do 1 it=1,itmax
         call momentum(err1)
diff --git a/src/momentum.f90 b/src/momentum.f90
index 71d549d2a72126652571171df7a085ef084e186b..b1e95c167ea07ca90f369ab586d0d4fbacb54c6d 100644
--- a/src/momentum.f90
+++ b/src/momentum.f90
@@ -13,7 +13,7 @@
       integer :: i,j,l
 
       err=0._pr
-      u1=0._pr; v1=0._pr; w1=0._pr
+      u1=u; v1=v; w1=w
       dum=0._pr; dvm=0._pr; dwm=0._pr
 
 
@@ -46,7 +46,6 @@
          dwa=abs(dw)
          if (dwm.lt.dwa) dwm=dwa
         endif
-  
         
         err=err+dua*dua+dva*dva+dwa*dwa
 
diff --git a/src/particlesTransport.f90 b/src/particlesTransport.f90
index 9f459f9861bfae8b35ac8b2d3e7ef86a3feff86b..6d274282a7d6f78f0a2005161d133e4083f5c193 100644
--- a/src/particlesTransport.f90
+++ b/src/particlesTransport.f90
@@ -130,7 +130,7 @@
               ((myid.eq.nrprocs-1).and.(xp(n).gt.xmax-radp(n)))) then
             up(n)=-up(n)*restRatio      
             xp(n)=xpold+up(n)*dt
-            if (qpmax.gt.qp0) call chargeParticleWall(n,1)
+            if (qpmax.ne.qp0) call chargeParticleWall(n,1)
           endif
         elseif (bcx.eq.'i') then
           if (myid.eq.nrprocs-1) then
@@ -150,7 +150,7 @@
             vp(n)=-vp(n)*restRatio      
             yp(n)=ypold+vp(n)*dt
             wcollnum(n)=wcollnum(n)+1
-            if (qpmax.gt.qp0) call chargeParticleWall(n,2)
+            if (qpmax.ne.qp0) call chargeParticleWall(n,2)
           endif
         endif
 
@@ -162,7 +162,7 @@
             wp(n)=-wp(n)*restRatio      
             zp(n)=zpold+wp(n)*dt
             wcollnum(n)=wcollnum(n)+1
-            if (qpmax.gt.qp0) call chargeParticleWall(n,3)
+            if (qpmax.ne.qp0) call chargeParticleWall(n,3)
           endif
         endif
 
diff --git a/src/pre.f90 b/src/pre.f90
index fd12f704459837b1c138621aeed77d0000e6e734..d95bb5e98d930cfb35fa3a23c2065dec2d82b99b 100644
--- a/src/pre.f90
+++ b/src/pre.f90
@@ -133,7 +133,7 @@
       write(20,'(a,es11.2e2)') &
             'CFL number (-)                                        = ', cfl
       write(20,'(a,2(es11.2e2))') &
-            'initial bulk flow (m/s), pressure gradient (N/m**3)   = ', ubulk,dpdx
+            'in/initial flow (m/s), pressure gradient (N/m**3)     = ', ubulk,dpdx
       write(20,'(a,2(es11.2e2))') &
             'fluid density (kg/m**3), kinematic visc. (m**2/s)     = ', &
             rhof,nuf
@@ -455,8 +455,7 @@
         if (bcy.eq.'w'.and.bcz.eq.'w') dist=delta-max(abs(yc(j)),abs(zc(l)))
         if (bcy.eq.'w'.and.bcz.eq.'p') dist=delta-abs(yc(j))
         if (bcy.eq.'p'.and.bcz.eq.'w') dist=delta-abs(zc(l))
-        u(i,j,l)=1._pr*ubulk*dist/delta + (random(m)-.5_pr)*alpha*ubulk
-!        u(i,j,l)=3._pr*ubulk*dist/delta
+        u(i,j,l)=ubulk*dist/delta + (random(m)-.5_pr)*alpha*ubulk
       enddo; enddo; enddo
 
       v=0._pr