diff --git a/src/atom.cpp b/src/atom.cpp
index df4db0a84205a8499ad78e85123ff72cd09b3c49..e46b1a72426bf8b9db25d9dd8487c49f4826f8df 100644
--- a/src/atom.cpp
+++ b/src/atom.cpp
@@ -1514,12 +1514,13 @@ void Atom::set_mass(double *values)
 }
 
 /* ----------------------------------------------------------------------
-   check that all masses have been set
+   check that all per-atom-type masses have been set
 ------------------------------------------------------------------------- */
 
 void Atom::check_mass(const char *file, int line)
 {
   if (mass == NULL) return;
+  if (rmass_flag) return;
   for (int itype = 1; itype <= ntypes; itype++)
     if (mass_setflag[itype] == 0) 
       error->all(file,line,"Not all per-type masses are set");
diff --git a/src/molecule.cpp b/src/molecule.cpp
index 76b28e3d470611f56c9f33d367a6a8f6b53736fc..e0e9ec8aaf1cb3925a3318fa872edfc82b733e62 100644
--- a/src/molecule.cpp
+++ b/src/molecule.cpp
@@ -219,7 +219,7 @@ void Molecule::compute_mass()
   if (massflag) return;
   massflag = 1;
 
-  if (!rmassflag) atom->check_mass(FLERR);
+  atom->check_mass(FLERR);
 
   masstotal = 0.0;
   for (int i = 0; i < natoms; i++) {
@@ -243,7 +243,7 @@ void Molecule::compute_com()
   if (!comflag) {
     comflag = 1;
 
-    if (!rmassflag) atom->check_mass(FLERR);
+    atom->check_mass(FLERR);
 
     double onemass;
     com[0] = com[1] = com[2] = 0.0;
@@ -308,7 +308,7 @@ void Molecule::compute_inertia()
   if (!inertiaflag) {
     inertiaflag = 1;
 
-    if (!rmassflag) atom->check_mass(FLERR);
+    atom->check_mass(FLERR);
 
     double onemass,dx,dy,dz;
     for (int i = 0; i < 6; i++) itensor[i] = 0.0;