diff --git a/doc/src/compute_pair_local.txt b/doc/src/compute_pair_local.txt
index 012121099454b45d3ea43fa025aba16de6257f22..16aaba4667396dfc038c9f7625fdca532a8cd04b 100644
--- a/doc/src/compute_pair_local.txt
+++ b/doc/src/compute_pair_local.txt
@@ -76,7 +76,9 @@ command for the types of the two atoms is used.  For the {radius}
 setting, the sum of the radii of the two particles is used as a
 cutoff.  For example, this is appropriate for granular particles which
 only interact when they are overlapping, as computed by "granular pair
-styles"_pair_gran.txt.
+styles"_pair_gran.txt.  Note that if a granular model defines atom
+types such that all particles of a specific type are monodisperse
+(same diameter), then the two settings are effectively identical.
 
 Note that as atoms migrate from processor to processor, there will be
 no consistent ordering of the entries within the local vector or array
diff --git a/doc/src/compute_property_local.txt b/doc/src/compute_property_local.txt
index f7851e864bfbb14cef1a8e055592018a00ba609c..39106a39c890cae655d635216bbe93876f43fc74 100644
--- a/doc/src/compute_property_local.txt
+++ b/doc/src/compute_property_local.txt
@@ -79,6 +79,9 @@ the two atoms is used.  For the {radius} setting, the sum of the radii
 of the two particles is used as a cutoff.  For example, this is
 appropriate for granular particles which only interact when they are
 overlapping, as computed by "granular pair styles"_pair_gran.html.
+Note that if a granular model defines atom types such that all
+particles of a specific type are monodisperse (same diameter), then
+the two settings are effectively identical.
 
 If the inputs are bond, angle, etc attributes, the local data is
 generated by looping over all the atoms owned on a processor and
diff --git a/doc/src/run_style.txt b/doc/src/run_style.txt
index 0e3c1a939f9c55602fa4ffe0d62a12231008976e..a67899420bdb1569a3250314ab0ef93600dbde22 100644
--- a/doc/src/run_style.txt
+++ b/doc/src/run_style.txt
@@ -17,7 +17,7 @@ style = {verlet} or {verlet/split} or {respa} or {respa/omp} :ulb,l
   {verlet/split} args = none
   {respa} args = N n1 n2 ... keyword values ...
     N = # of levels of rRESPA
-    n1, n2, ... = loop factor between rRESPA levels (N-1 values)
+    n1, n2, ... = loop factors between rRESPA levels (N-1 values)
     zero or more keyword/value pairings may be appended to the loop factors
     keyword = {bond} or {angle} or {dihedral} or {improper} or
               {pair} or {inner} or {middle} or {outer} or {hybrid} or {kspace}
@@ -55,7 +55,7 @@ style = {verlet} or {verlet/split} or {respa} or {respa/omp} :ulb,l
 
 run_style verlet
 run_style respa 4 2 2 2 bond 1 dihedral 2 pair 3 kspace 4
-run_style respa 4 2 2 2 bond 1 dihedral 2 inner 3 5.0 6.0 outer 4 kspace 4 :pre
+run_style respa 4 2 2 2 bond 1 dihedral 2 inner 3 5.0 6.0 outer 4 kspace 4
 run_style respa 3 4 2 bond 1 hybrid 2 2 1 kspace 3 :pre
 
 [Description:]
diff --git a/src/neighbor.cpp b/src/neighbor.cpp
index 60b1bc7ee027c23d3c1cbf39194cfd38b8718d59..487b860c92a33752a847147f9ed8aa18aa662154 100644
--- a/src/neighbor.cpp
+++ b/src/neighbor.cpp
@@ -1268,9 +1268,11 @@ void Neighbor::morph_copy()
 
       if (irq->ghost && !jrq->ghost) continue;
 
-      // do not copy from a history list
+      // do not copy from a history list or a respa middle/inner list
 
       if (jrq->history) continue;
+      if (jrq->respamiddle) continue;
+      if (jrq->respainner) continue;
 
       // these flags must be same,
       //   else 2 lists do not store same pairs