diff --git a/src/boundaries.F90 b/src/boundaries.F90
index aa98e65..f6483d0 100644
--- a/src/boundaries.F90
+++ b/src/boundaries.F90
@@ -1803,107 +1803,6 @@ module boundaries
 !
 !===============================================================================
 !
-! bnd_copy: subroutine copies the interior of neighbor to update the
-!           boundaries of the current block
-!
-!===============================================================================
-!
-  subroutine bnd_copy(pdata, u, idir, iside)
-
-    use blocks   , only : block_data
-    use config   , only : im, ib, ibl, ibu, ie, iel, ieu                       &
-                        , jm, jb, jbl, jbu, je, jel, jeu                       &
-                        , km, kb, kbl, kbu, ke, kel, keu
-    use variables, only : nqt, nfl
-#ifdef MHD
-    use variables, only : ibx, iby, ibz
-#ifdef GLM
-    use variables, only : iph
-#endif /* GLM */
-#endif /* MHD */
-
-    implicit none
-
-! arguments
-!
-    type(block_data), pointer       , intent(inout) :: pdata
-    real   , dimension(nqt,im,jm,km), intent(in)    :: u
-    integer                         , intent(in)    :: idir, iside
-!
-!-------------------------------------------------------------------------------
-!
-    select case(idir)
-
-    case(1)
-
-      if (iside .eq. 1) then
-        pdata%u(  1:nfl,1:ibl  ,1:jm,1:km) = u(  1:nfl,iel:ie  ,1:jm,1:km)
-#ifdef MHD
-        pdata%u(ibx:ibz,1:ibl  ,1:jm,1:km) = u(ibx:ibz,iel:ie  ,1:jm,1:km)
-#ifdef GLM
-        pdata%u(iph    ,1:ibl  ,1:jm,1:km) = u(iph    ,iel:ie  ,1:jm,1:km)
-#endif /* GLM */
-#endif /* MHD */
-      else
-        pdata%u(  1:nfl,ieu:im,1:jm,1:km) = u(  1:nfl,ib:ibu,1:jm,1:km)
-#ifdef MHD
-        pdata%u(ibx:ibz,ieu:im,1:jm,1:km) = u(ibx:ibz,ib:ibu,1:jm,1:km)
-#ifdef GLM
-        pdata%u(iph    ,ieu:im,1:jm,1:km) = u(iph    ,ib:ibu,1:jm,1:km)
-#endif /* GLM */
-#endif /* MHD */
-      end if
-
-    case(2)
-
-      if (iside .eq. 1) then
-        pdata%u(  1:nfl,1:im,1:jbl  ,1:km) = u(  1:nfl,1:im,jel:je  ,1:km)
-#ifdef MHD
-        pdata%u(ibx:ibz,1:im,1:jbl  ,1:km) = u(ibx:ibz,1:im,jel:je  ,1:km)
-#ifdef GLM
-        pdata%u(iph    ,1:im,1:jbl  ,1:km) = u(iph    ,1:im,jel:je  ,1:km)
-#endif /* GLM */
-#endif /* MHD */
-      else
-        pdata%u(  1:nfl,1:im,jeu:jm,1:km) = u(  1:nfl,1:im,jb:jbu,1:km)
-#ifdef MHD
-        pdata%u(ibx:ibz,1:im,jeu:jm,1:km) = u(ibx:ibz,1:im,jb:jbu,1:km)
-#ifdef GLM
-        pdata%u(iph    ,1:im,jeu:jm,1:km) = u(iph    ,1:im,jb:jbu,1:km)
-#endif /* GLM */
-#endif /* MHD */
-      end if
-
-#if NDIMS == 3
-    case(3)
-
-      if (iside .eq. 1) then
-        pdata%u(  1:nfl,1:im,1:jm,1:kbl  ) = u(  1:nfl,1:im,1:jm,kel:ke  )
-#ifdef MHD
-        pdata%u(ibx:ibz,1:im,1:jm,1:kbl  ) = u(ibx:ibz,1:im,1:jm,kel:ke  )
-#ifdef GLM
-        pdata%u(iph    ,1:im,1:jm,1:kbl  ) = u(iph    ,1:im,1:jm,kel:ke  )
-#endif /* GLM */
-#endif /* MHD */
-      else
-        pdata%u(  1:nfl,1:im,1:jm,keu:km ) = u(  1:nfl,1:im,1:jm,kb:kbu)
-#ifdef MHD
-        pdata%u(ibx:ibz,1:im,1:jm,keu:km) = u(ibx:ibz,1:im,1:jm,kb:kbu)
-#ifdef GLM
-        pdata%u(iph    ,1:im,1:jm,keu:km) = u(iph    ,1:im,1:jm,kb:kbu)
-#endif /* GLM */
-#endif /* MHD */
-      end if
-#endif /* NDIMS == 3 */
-
-    end select
-!
-!-------------------------------------------------------------------------------
-!
-  end subroutine bnd_copy
-!
-!===============================================================================
-!
 ! bnd_rest: subroutine copies the restricted interior of the neighbor to update
 !           the boundaries of the current block
 !