diff --git a/embed_surface_in_octree.f90 b/embed_surface_in_octree.f90
index bf7820a710fb7064592ddd8840b8ff211cdf93b9..3b855aa9f4c921016601f4a03b9b170ca42f5c05 100644
--- a/embed_surface_in_octree.f90
+++ b/embed_surface_in_octree.f90
@@ -97,6 +97,9 @@ allocate (olsf%z(olsf%nnode),stat=threadinfo%err)
 call heap (threadinfo,'olsf%z','embed_surf...',size(olsf%z),'dp',+1)
    
 call octree_find_node_connectivity (olsf%octree,olsf%noctree,olsf%icon,olsf%nleaves,olsf%x,olsf%y,olsf%z,olsf%nnode)
+! olsf%nnode has been changed by octree_find_node_connectivity, so re-size x,y,z
+call octreelsf_shrink_xyz(olsf, threadinfo)
+
 
 write(threadinfo%Logunit,*) '[same] embed_surface_in_octree: olsf%nnode ',olsf%nnode
 call flush(threadinfo%Logunit) 
@@ -200,8 +203,8 @@ call heap (threadinfo,'osolve%z',   'embed_surf...',size(osolve%z),'dp',+1)
 call octree_find_node_connectivity (osolve%octree,osolve%noctree, &
                                     osolve%icon,osolve%nleaves,   &
                                     osolve%x,osolve%y,osolve%z,osolve%nnode)
-! osolve%nnode has been changed by octree_find_node_connectivity; re-size x,y,z
-call octreesolve_shrink_xyz(threadinfo, osolve, osolve%nnode)
+! osolve%nnode has been changed by octree_find_node_connectivity, so  re-size x,y,z
+call octreesolve_shrink_xyz(osolve, threadinfo)
 
 ! now that osolve%nnode is known we can allocate osolve%lsf
 allocate (osolve%lsf(osolve%nnode,osolve%nlsf),stat=threadinfo%err)