diff --git a/src/define_isostasy_bc.f90 b/src/define_isostasy_bc.f90
index d9708bf147148064db049acb4a7d6f6ccdbe55e6..d964ec25eb09f46e951353f0d044c3bbd8e950f7 100644
--- a/src/define_isostasy_bc.f90
+++ b/src/define_isostasy_bc.f90
@@ -16,7 +16,7 @@
 !------------------------------------------------------------------------------|
 !------------------------------------------------------------------------------|
 
-subroutine define_isostasy_bc(params,osolve,vo,zisodisp,firstcall,l,x0,spu,spv,&
+subroutine define_isostasy_bc(params,osolve,vo,zi,firstcall,l,x0,spu,spv,&
            ldisp)
 
 !------------------------------------------------------------------------------|
@@ -41,7 +41,8 @@ implicit none
 type (parameters) params
 type (octreesolve) osolve
 type (void) vo
-double precision zisodisp(2**params%levelmax_oct+1,2**params%levelmax_oct+1)
+type (ziso) zi
+!double precision zisodisp(2**params%levelmax_oct+1,2**params%levelmax_oct+1)
 double precision x0(osolve%nnode),ldisp(osolve%nnode)
 double precision l,spu,spv
 logical firstcall
@@ -73,19 +74,19 @@ if (firstcall) then
     ! Shift s-line depth
     xdisp=nint(x0(i)*nb)+1
     ydisp=nint(osolve%y(i)*nb)+1
-    ldisp(i)=l+zisodisp(xdisp,ydisp)
+    ldisp(i)=l+zi%zisodisp(xdisp,ydisp)
   enddo
 else
   allocate(zisoslx(nb+1,nb+1))!,zisosly(nb+1,nb+1))  
   do j=1,nb+1
     do i=1,nb+1
       if (i==1) then
-        zisoslx(i,j)=(zisodisp(i+1,j)-zisodisp(i,j))/dxy                        ! Displacement between first and second nodes along x-axis
+        zisoslx(i,j)=(zi%zisodisp(i+1,j)-zi%zisodisp(i,j))/dxy                        ! Displacement between first and second nodes along x-axis
       elseif (i==nb+1) then
-        zisoslx(i,j)=(zisodisp(i,j)-zisodisp(i-1,j))/dxy                        ! Displacement between second-to-last and last nodes along x-axis
+        zisoslx(i,j)=(zi%zisodisp(i,j)-zi%zisodisp(i-1,j))/dxy                        ! Displacement between second-to-last and last nodes along x-axis
       else
-        zisoslx(i,j)=((zisodisp(i,j)-zisodisp(i-1,j))/dxy+&                     ! Average displacement of nodes on either side of current node, along x-axis
-                     (zisodisp(i+1,j)-zisodisp(i,j))/dxy)/2.d0
+        zisoslx(i,j)=((zi%zisodisp(i,j)-zi%zisodisp(i-1,j))/dxy+&                     ! Average displacement of nodes on either side of current node, along x-axis
+                     (zi%zisodisp(i+1,j)-zi%zisodisp(i,j))/dxy)/2.d0
       endif
       !if (j==1) then
       !  zisosly(i,j)=(zisodisp(i,j+1)-zisodisp(i,j))/dxy                        ! Displacement between first and second nodes along y-axis