diff -Naur lammps-1Nov09/src/MOLECULE/angle_hybrid.cpp lammps-2Nov09/src/MOLECULE/angle_hybrid.cpp --- lammps-1Nov09/src/MOLECULE/angle_hybrid.cpp 2009-01-05 15:26:08.000000000 -0700 +++ lammps-2Nov09/src/MOLECULE/angle_hybrid.cpp 2009-10-30 13:53:21.000000000 -0600 @@ -73,8 +73,10 @@ if (neighbor->ago == 0) { for (m = 0; m < nstyles; m++) nanglelist[m] = 0; - for (i = 0; i < nanglelist_orig; i++) - nanglelist[map[anglelist_orig[i][3]]]++; + for (i = 0; i < nanglelist_orig; i++) { + m = map[anglelist_orig[i][3]]; + if (m >= 0) nanglelist[m]++; + } for (m = 0; m < nstyles; m++) { if (nanglelist[m] > maxangle[m]) { memory->destroy_2d_int_array(anglelist[m]); @@ -86,6 +88,7 @@ } for (i = 0; i < nanglelist_orig; i++) { m = map[anglelist_orig[i][3]]; + if (m < 0) continue; n = nanglelist[m]; anglelist[m][n][0] = anglelist_orig[i][0]; anglelist[m][n][1] = anglelist_orig[i][1]; diff -Naur lammps-1Nov09/src/MOLECULE/bond_hybrid.cpp lammps-2Nov09/src/MOLECULE/bond_hybrid.cpp --- lammps-1Nov09/src/MOLECULE/bond_hybrid.cpp 2009-01-05 15:26:08.000000000 -0700 +++ lammps-2Nov09/src/MOLECULE/bond_hybrid.cpp 2009-10-30 13:53:21.000000000 -0600 @@ -73,8 +73,10 @@ if (neighbor->ago == 0) { for (m = 0; m < nstyles; m++) nbondlist[m] = 0; - for (i = 0; i < nbondlist_orig; i++) - nbondlist[map[bondlist_orig[i][2]]]++; + for (i = 0; i < nbondlist_orig; i++) { + m = map[bondlist_orig[i][2]]; + if (m >= 0) nbondlist[m]++; + } for (m = 0; m < nstyles; m++) { if (nbondlist[m] > maxbond[m]) { memory->destroy_2d_int_array(bondlist[m]); @@ -86,6 +88,7 @@ } for (i = 0; i < nbondlist_orig; i++) { m = map[bondlist_orig[i][2]]; + if (m < 0) continue; n = nbondlist[m]; bondlist[m][n][0] = bondlist_orig[i][0]; bondlist[m][n][1] = bondlist_orig[i][1]; diff -Naur lammps-1Nov09/src/MOLECULE/dihedral_hybrid.cpp lammps-2Nov09/src/MOLECULE/dihedral_hybrid.cpp --- lammps-1Nov09/src/MOLECULE/dihedral_hybrid.cpp 2009-01-05 15:26:08.000000000 -0700 +++ lammps-2Nov09/src/MOLECULE/dihedral_hybrid.cpp 2009-10-30 13:53:21.000000000 -0600 @@ -73,8 +73,10 @@ if (neighbor->ago == 0) { for (m = 0; m < nstyles; m++) ndihedrallist[m] = 0; - for (i = 0; i < ndihedrallist_orig; i++) - ndihedrallist[map[dihedrallist_orig[i][4]]]++; + for (i = 0; i < ndihedrallist_orig; i++) { + m = map[dihedrallist_orig[i][4]]; + if (m >= 0) ndihedrallist[m]++; + } for (m = 0; m < nstyles; m++) { if (ndihedrallist[m] > maxdihedral[m]) { memory->destroy_2d_int_array(dihedrallist[m]); @@ -87,6 +89,7 @@ } for (i = 0; i < ndihedrallist_orig; i++) { m = map[dihedrallist_orig[i][4]]; + if (m < 0) continue; n = ndihedrallist[m]; dihedrallist[m][n][0] = dihedrallist_orig[i][0]; dihedrallist[m][n][1] = dihedrallist_orig[i][1]; diff -Naur lammps-1Nov09/src/MOLECULE/improper_hybrid.cpp lammps-2Nov09/src/MOLECULE/improper_hybrid.cpp --- lammps-1Nov09/src/MOLECULE/improper_hybrid.cpp 2009-01-05 15:26:08.000000000 -0700 +++ lammps-2Nov09/src/MOLECULE/improper_hybrid.cpp 2009-10-30 13:53:21.000000000 -0600 @@ -73,8 +73,10 @@ if (neighbor->ago == 0) { for (m = 0; m < nstyles; m++) nimproperlist[m] = 0; - for (i = 0; i < nimproperlist_orig; i++) - nimproperlist[map[improperlist_orig[i][4]]]++; + for (i = 0; i < nimproperlist_orig; i++) { + m = map[improperlist_orig[i][4]]; + nimproperlist[m]++; + } for (m = 0; m < nstyles; m++) { if (nimproperlist[m] > maximproper[m]) { memory->destroy_2d_int_array(improperlist[m]); @@ -87,6 +89,7 @@ } for (i = 0; i < nimproperlist_orig; i++) { m = map[improperlist_orig[i][4]]; + if (m < 0) continue; n = nimproperlist[m]; improperlist[m][n][0] = improperlist_orig[i][0]; improperlist[m][n][1] = improperlist_orig[i][1];