diff --git a/src/MANYBODY/pair_adp.cpp b/src/MANYBODY/pair_adp.cpp
index 90d6eab223838a7f288bd6d282dcfc232deb29ae..4939965528e06b954a36ae30b49c689e44eb2541 100644
--- a/src/MANYBODY/pair_adp.cpp
+++ b/src/MANYBODY/pair_adp.cpp
@@ -66,6 +66,7 @@ PairADP::PairADP(LAMMPS *lmp) : Pair(lmp)
 
   single_enable = 0;
   one_coeff = 1;
+  manybody_flag = 1;
 }
 
 /* ----------------------------------------------------------------------
diff --git a/src/MANYBODY/pair_airebo.cpp b/src/MANYBODY/pair_airebo.cpp
index 28939dbeb375a9908c1773ecb4ae0e50c29fc30a..8665b736a9ace38951fa12a3b4a37f13a0a18cba 100644
--- a/src/MANYBODY/pair_airebo.cpp
+++ b/src/MANYBODY/pair_airebo.cpp
@@ -58,6 +58,7 @@ PairAIREBO::PairAIREBO(LAMMPS *lmp) : Pair(lmp)
   maxpage = 0;
   pages = NULL;
   nC = nH = NULL;
+  manybody_flag = 1;
 }
 
 /* ----------------------------------------------------------------------
diff --git a/src/MANYBODY/pair_bop.cpp b/src/MANYBODY/pair_bop.cpp
index a66fa34d416fe6c99c058290b6f26cd45afcb4fd..3410e6c3f22651a6fdd0b6132abbca43ccfa52a1 100644
--- a/src/MANYBODY/pair_bop.cpp
+++ b/src/MANYBODY/pair_bop.cpp
@@ -62,6 +62,8 @@ PairBOP::PairBOP(LAMMPS *lmp) : Pair(lmp)
 {
   single_enable = 0;
   one_coeff = 1;
+  manybody_flag = 1;
+
   map = NULL;
   pi_a = NULL;
   pro_delta = NULL;
diff --git a/src/MANYBODY/pair_comb.cpp b/src/MANYBODY/pair_comb.cpp
index f6170bdf6cdbe07c2bcdfecd6c1a55251ea768ba..2a071b91adcbf598d75602642989483db49d8c34 100644
--- a/src/MANYBODY/pair_comb.cpp
+++ b/src/MANYBODY/pair_comb.cpp
@@ -50,6 +50,7 @@ PairComb::PairComb(LAMMPS *lmp) : Pair(lmp)
   single_enable = 0;
   restartinfo = 0;
   one_coeff = 1;
+  manybody_flag = 1;
 
   nmax = 0;
   NCo = NULL;
diff --git a/src/MANYBODY/pair_eam.cpp b/src/MANYBODY/pair_eam.cpp
index 5e5f8f39306ec761c04cb8eae4128c0ba83ebdfb..629620101e8d141a6f768fe6b1855fd528d2b565 100644
--- a/src/MANYBODY/pair_eam.cpp
+++ b/src/MANYBODY/pair_eam.cpp
@@ -37,6 +37,7 @@ using namespace LAMMPS_NS;
 PairEAM::PairEAM(LAMMPS *lmp) : Pair(lmp)
 {
   restartinfo = 0;
+  manybody_flag = 1;
 
   nmax = 0;
   rho = NULL;
diff --git a/src/MANYBODY/pair_eam_alloy.cpp b/src/MANYBODY/pair_eam_alloy.cpp
index 318d6421e6122dfa7028188de23daf5113c26080..6e46f6edb9ce7fd9e7acd54fbaebf176a9ce712d 100644
--- a/src/MANYBODY/pair_eam_alloy.cpp
+++ b/src/MANYBODY/pair_eam_alloy.cpp
@@ -33,6 +33,7 @@ using namespace LAMMPS_NS;
 PairEAMAlloy::PairEAMAlloy(LAMMPS *lmp) : PairEAM(lmp)
 {
   one_coeff = 1;
+  manybody_flag = 1;
 }
 
 /* ----------------------------------------------------------------------
diff --git a/src/MANYBODY/pair_eam_fs.cpp b/src/MANYBODY/pair_eam_fs.cpp
index 875822fd5c0da28e34b2231f304772aa66ed0e12..80f423992803b612a741f4bb6e0a3bf17c79c941 100644
--- a/src/MANYBODY/pair_eam_fs.cpp
+++ b/src/MANYBODY/pair_eam_fs.cpp
@@ -33,6 +33,7 @@ using namespace LAMMPS_NS;
 PairEAMFS::PairEAMFS(LAMMPS *lmp) : PairEAM(lmp)
 {
   one_coeff = 1;
+  manybody_flag = 1;
 }
 
 /* ----------------------------------------------------------------------
diff --git a/src/MANYBODY/pair_eim.cpp b/src/MANYBODY/pair_eim.cpp
index f4418a25d24f29f65f0edf8e1e3a13fef5c5432a..f4f3fcc65350a12cd095c6a2b9a093030bcb5ef8 100644
--- a/src/MANYBODY/pair_eim.cpp
+++ b/src/MANYBODY/pair_eim.cpp
@@ -39,6 +39,7 @@ PairEIM::PairEIM(LAMMPS *lmp) : Pair(lmp)
   single_enable = 0;
   restartinfo = 0;
   one_coeff = 1;
+  manybody_flag = 1;
 
   setfl = NULL;
   nmax = 0;
diff --git a/src/MANYBODY/pair_lcbop.cpp b/src/MANYBODY/pair_lcbop.cpp
index 0de291b28664aa3c212560334038aac053ba31c1..06f04b1f2f54cfde1f97957083486929c133c9df 100644
--- a/src/MANYBODY/pair_lcbop.cpp
+++ b/src/MANYBODY/pair_lcbop.cpp
@@ -46,6 +46,7 @@ using namespace MathConst;
 PairLCBOP::PairLCBOP(LAMMPS *lmp) : Pair(lmp) {
   single_enable = 0;
   one_coeff = 1;
+  manybody_flag = 1;
   ghostneigh = 1;
 
   maxlocal = 0;
diff --git a/src/MANYBODY/pair_sw.cpp b/src/MANYBODY/pair_sw.cpp
index 7af668d37fb57c8ed027235f36940cfebc2b0c17..5efc5b7c64d4f3f7795e2bcaf941a6851d9a96d3 100755
--- a/src/MANYBODY/pair_sw.cpp
+++ b/src/MANYBODY/pair_sw.cpp
@@ -43,6 +43,7 @@ PairSW::PairSW(LAMMPS *lmp) : Pair(lmp)
   single_enable = 0;
   restartinfo = 0;
   one_coeff = 1;
+  manybody_flag = 1;
 
   nelements = 0;
   elements = NULL;
diff --git a/src/MANYBODY/pair_tersoff.cpp b/src/MANYBODY/pair_tersoff.cpp
index 6c3c006b12e4947d8516e00c0484e16240730eae..9e90a8902b98fb95adffbb400ce80da3716f240f 100755
--- a/src/MANYBODY/pair_tersoff.cpp
+++ b/src/MANYBODY/pair_tersoff.cpp
@@ -44,6 +44,7 @@ PairTersoff::PairTersoff(LAMMPS *lmp) : Pair(lmp)
   single_enable = 0;
   restartinfo = 0;
   one_coeff = 1;
+  manybody_flag = 1;
 
   nelements = 0;
   elements = NULL;
diff --git a/src/MEAM/pair_meam.cpp b/src/MEAM/pair_meam.cpp
index 4a3b15898c6ec97d36c9957285a4c8719c548bed..bdfc9ea159de1530c1fbc4056dff9b5778c83f7c 100644
--- a/src/MEAM/pair_meam.cpp
+++ b/src/MEAM/pair_meam.cpp
@@ -49,6 +49,7 @@ PairMEAM::PairMEAM(LAMMPS *lmp) : Pair(lmp)
   single_enable = 0;
   restartinfo = 0;
   one_coeff = 1;
+  manybody_flag = 1;
 
   nmax = 0;
   rho = rho0 = rho1 = rho2 = rho3 = frhop = NULL;
diff --git a/src/REAX/pair_reax.cpp b/src/REAX/pair_reax.cpp
index 341aba65d7c8aaade1cece11dd318f160d1f822e..e8db8a2a3d4d10d85ed5834975dd4e818691387f 100644
--- a/src/REAX/pair_reax.cpp
+++ b/src/REAX/pair_reax.cpp
@@ -48,6 +48,7 @@ PairREAX::PairREAX(LAMMPS *lmp) : Pair(lmp)
   single_enable = 0;
   restartinfo = 0;
   one_coeff = 1;
+  manybody_flag = 1;
   no_virial_fdotr_compute = 1;
 
   nextra = 14;
diff --git a/src/USER-MISC/pair_edip.cpp b/src/USER-MISC/pair_edip.cpp
index 47585562e2b7ef2df9824ba4174873a74e941d37..bc0d75adfd994c400db5635cd248386cb0cbbaaf 100755
--- a/src/USER-MISC/pair_edip.cpp
+++ b/src/USER-MISC/pair_edip.cpp
@@ -55,6 +55,7 @@ PairEDIP::PairEDIP(LAMMPS *lmp) : Pair(lmp)
   single_enable = 0;
   restartinfo = 0;
   one_coeff = 1;
+  manybody_flag = 1;
 
   nelements = 0;
   elements = NULL;
diff --git a/src/USER-MISC/pair_meam_spline.cpp b/src/USER-MISC/pair_meam_spline.cpp
index 24ca5d0a673a65c3082ffad31061eeb4dc5e9253..1684bed227d3ed6f1416066952fb31555019aac2 100644
--- a/src/USER-MISC/pair_meam_spline.cpp
+++ b/src/USER-MISC/pair_meam_spline.cpp
@@ -49,6 +49,7 @@ PairMEAMSpline::PairMEAMSpline(LAMMPS *lmp) : Pair(lmp)
   single_enable = 0;
   restartinfo = 0;
   one_coeff = 1;
+  manybody_flag = 1;
 
   nelements = 0;
   elements = NULL;
diff --git a/src/USER-MISC/pair_meam_sw_spline.cpp b/src/USER-MISC/pair_meam_sw_spline.cpp
index bf3917a769b953d0a7ec80f524570a7742af5acd..d0385ab01043b05567e0d23165508f2348d9112c 100644
--- a/src/USER-MISC/pair_meam_sw_spline.cpp
+++ b/src/USER-MISC/pair_meam_sw_spline.cpp
@@ -47,6 +47,7 @@ PairMEAMSWSpline::PairMEAMSWSpline(LAMMPS *lmp) : Pair(lmp)
   single_enable = 0;
   restartinfo = 0;
   one_coeff = 1;
+  manybody_flag = 1;
 
   nelements = 0;
   elements = NULL;
diff --git a/src/USER-MISC/pair_tersoff_table.cpp b/src/USER-MISC/pair_tersoff_table.cpp
index ce25a86393b9ee89868bdf94e175f81a884c0068..f9940d8d8672b4662b09fce279e01cd7aa1dcac2 100644
--- a/src/USER-MISC/pair_tersoff_table.cpp
+++ b/src/USER-MISC/pair_tersoff_table.cpp
@@ -56,6 +56,7 @@ PairTersoffTable::PairTersoffTable(LAMMPS *lmp) : Pair(lmp)
 {
   single_enable = 0;
   one_coeff = 1;
+  manybody_flag = 1;
 
   nelements = 0;
   elements = NULL;
diff --git a/src/USER-REAXC/pair_reax_c.cpp b/src/USER-REAXC/pair_reax_c.cpp
index d4945afee674f2fcb4a280e811b6ac36163b2d91..1f5ee66a97dfcf1a4e1927c6799e525b3cfb059f 100644
--- a/src/USER-REAXC/pair_reax_c.cpp
+++ b/src/USER-REAXC/pair_reax_c.cpp
@@ -61,6 +61,7 @@ PairReaxC::PairReaxC(LAMMPS *lmp) : Pair(lmp)
   single_enable = 0;
   restartinfo = 0;
   one_coeff = 1;
+  manybody_flag = 1;
   ghostneigh = 1;
 
   system = (reax_system *)
diff --git a/src/pair.cpp b/src/pair.cpp
index 3908dbb32467f7d079b0dde7e28924ac22c87531..5efa8dd6023bbbcd426e7dbeff6ab98a5a741bd0 100644
--- a/src/pair.cpp
+++ b/src/pair.cpp
@@ -71,6 +71,7 @@ Pair::Pair(LAMMPS *lmp) : Pointers(lmp)
   // pair_modify settings
 
   compute_flag = 1;
+  manybody_flag = 0;
   offset_flag = 0;
   mix_flag = GEOMETRIC;
   tail_flag = 0;
@@ -172,11 +173,27 @@ void Pair::init()
   if (tail_flag && domain->nonperiodic && comm->me == 0)
     error->warning(FLERR,"Using pair tail corrections with nonperiodic system");
 
-  if (!allocated) error->all(FLERR,"All pair coeffs are not set");
+  // for manybody potentials
+  // check if bonded exclusions could invalidate the neighbor list
+
+  if (manybody_flag && atom->molecular) {
+    int flag = 0;
+    if (atom->nbonds > 0 && force->special_lj[1] == 0.0 && 
+        force->special_coul[1] == 0.0) flag = 1;
+    if (atom->nangles > 0 && force->special_lj[2] == 0.0 && 
+        force->special_coul[2] == 0.0) flag = 1;
+    if (atom->ndihedrals > 0 && force->special_lj[3] == 0.0 && 
+        force->special_coul[3] == 0.0) flag = 1;
+    if (flag && comm->me == 0)
+      error->warning(FLERR,"Using a manybody potential with "
+                     "bonds/angles/dihedrals and special_bond exclusions");
+  }
 
   // I,I coeffs must be set
   // init_one() will check if I,J is set explicitly or inferred by mixing
 
+  if (!allocated) error->all(FLERR,"All pair coeffs are not set");
+
   for (i = 1; i <= atom->ntypes; i++)
     if (setflag[i][i] == 0) error->all(FLERR,"All pair coeffs are not set");
 
diff --git a/src/pair.h b/src/pair.h
index 72eb257c85cab3529d03aa72ce64d6cf9c1eeedc..e1cea71ddb761a4ad944ada8d44d96a25fc91279 100644
--- a/src/pair.h
+++ b/src/pair.h
@@ -95,6 +95,7 @@ class Pair : protected Pointers {
   unsigned int datamask_ext;
 
   int compute_flag;              // 0 if skip compute()
+  int manybody_flag;             // 1 if abort for manybody style with bonds
 
   Pair(class LAMMPS *);
   virtual ~Pair();