diff --git a/src/read_input_file.f90 b/src/read_input_file.f90
index 2860fa7440d283b206c3237bdc4a4d2bb40cafc3..bcd89a8bb1db535699ebf08a778549ec9c982813 100644
--- a/src/read_input_file.f90
+++ b/src/read_input_file.f90
@@ -475,6 +475,13 @@ if (iproc==0) then
 end if
 call mpi_bcast(params%damp_surface,1,mpi_logical,0,mpi_comm_world,ierr)
 
+params%remove_surf_pts=.false.
+if (iproc==0) then
+   call scanfile (params%infile,'remove_surf_pts',answer,ires)
+   params%remove_surf_pts = (trim(answer)=='T')
+end if
+call mpi_bcast(params%remove_surf_pts,1,mpi_logical,0,mpi_comm_world,ierr)
+
 params%penalty=1.d8
 if (iproc==0) call scanfile (params%infile,'penalty',params%penalty,ires)
 call mpi_bcast(params%penalty,1,mpi_double_precision,0,mpi_comm_world,ierr)
@@ -943,6 +950,7 @@ if (params%debug.gt.0 .and. iproc.eq.0) then
   write(*,'(a,i4)') shift//'initial_refine_level ',params%initial_refine_level
   write(*,'(a,e11.4)') shift//'dt ',params%dt
   write(*,'(a,l1)') shift//'damp_surface ',params%damp_surface
+  write(*,'(a,l1)') shift//'remove_surf_pts ',params%remove_surf_pts
   write(*,'(a,e11.4)') shift//'penalty ',params%penalty
   write(*,'(a,e11.4)') shift//'tempscale ',params%tempscale
   write(*,'(a,e11.4)') shift//'refine_ratio ',params%refine_ratio
@@ -1114,6 +1122,7 @@ if (params%debug.gt.1) then
   write(threadinfo%Logunit,'(a32,i4)') 'initial_refine_level ',params%initial_refine_level
   write(threadinfo%Logunit,'(a32,e11.4)') 'dt ',params%dt
   write(threadinfo%Logunit,'(a32,l1)') 'damp_surface ',params%damp_surface
+  write(threadinfo%Logunit,'(a32,l1)') 'remove_surf_pts ',params%remove_surf_pts
   write(threadinfo%Logunit,'(a32,e11.4)') 'penalty ',params%penalty
   write(threadinfo%Logunit,'(a32,e11.4)') 'tempscale ',params%tempscale
   write(threadinfo%Logunit,'(a32,e11.4)') 'refine_ratio ',params%refine_ratio