diff --git a/src/npair_halffull_newtoff.cpp b/src/npair_halffull_newtoff.cpp
index bd7cc4dd59758924fa63e928b5a133ef7d879986..9d5a15316b80ee3c7d40c83b6581592b99e22829 100644
--- a/src/npair_halffull_newtoff.cpp
+++ b/src/npair_halffull_newtoff.cpp
@@ -32,6 +32,8 @@ NPairHalffullNewtoff::NPairHalffullNewtoff(LAMMPS *lmp) : NPair(lmp) {}
    pair stored once if i,j are both owned and i < j
    pair stored by me if j is ghost (also stored by proc owning j)
    works if full list is a skip list
+   works for owned (non-ghost) list, also for ghost list
+   if ghost, also store neighbors of ghost atoms & set inum,gnum correctly
 ------------------------------------------------------------------------- */
 
 void NPairHalffullNewtoff::build(NeighList *list)
@@ -48,8 +50,8 @@ void NPairHalffullNewtoff::build(NeighList *list)
   int *numneigh_full = list->listfull->numneigh;
   int **firstneigh_full = list->listfull->firstneigh;
   int inum_full = list->listfull->inum;
+  if (list->ghost) inum_full += list->listfull->gnum;
 
-  int inum = 0;
   ipage->reset();
 
   // loop over atoms in full list
@@ -70,7 +72,7 @@ void NPairHalffullNewtoff::build(NeighList *list)
       if (j > i) neighptr[n++] = joriginal;
     }
 
-    ilist[inum++] = i;
+    ilist[ii] = i;
     firstneigh[i] = neighptr;
     numneigh[i] = n;
     ipage->vgot(n);
@@ -78,5 +80,6 @@ void NPairHalffullNewtoff::build(NeighList *list)
       error->one(FLERR,"Neighbor list overflow, boost neigh_modify one");
   }
 
-  list->inum = inum;
+  list->inum = list->listfull->inum;
+  list->gnum = list->listfull->gnum;
 }
diff --git a/src/npair_halffull_newtoff.h b/src/npair_halffull_newtoff.h
index 24d439a331c6832c7c3cc8346c545feff766d255..c4f7d00a01b37a51db922374588be604cd8a4d66 100644
--- a/src/npair_halffull_newtoff.h
+++ b/src/npair_halffull_newtoff.h
@@ -23,6 +23,16 @@ NPairStyle(halffull/newtoff/skip,
            NP_HALF_FULL | NP_NEWTOFF | NP_NSQ | NP_BIN | NP_MULTI | NP_HALF |
            NP_ORTHO | NP_TRI | NP_SKIP)
 
+NPairStyle(halffull/newtoff/ghost,
+           NPairHalffullNewtoff,
+           NP_HALF_FULL | NP_NEWTOFF | NP_NSQ | NP_BIN | NP_MULTI | NP_HALF |
+           NP_ORTHO | NP_TRI | NP_GHOST)
+
+NPairStyle(halffull/newtoff/skip/ghost,
+           NPairHalffullNewtoff,
+           NP_HALF_FULL | NP_NEWTOFF | NP_NSQ | NP_BIN | NP_MULTI | NP_HALF |
+           NP_ORTHO | NP_TRI | NP_SKIP | NP_GHOST)
+
 #else
 
 #ifndef LMP_NPAIR_HALFFULL_NEWTOFF_H