diff --git a/patches/namd-2.8.diff b/patches/namd-2.8.diff
index 4fabe2f25e358bd9d7075822f1b774eb47511ddc..5612e792043d1752d8b1812d935b2d05f18ae311 100644
--- a/patches/namd-2.8.diff
+++ b/patches/namd-2.8.diff
@@ -128,8 +128,8 @@ patch -u -l -b -F 5 --suffix=.preplumed "./src/ComputeMgr.C" << \EOF_EOF
 +      positions[3*i+0]=coord.x;
 +      positions[3*i+1]=coord.y;
 +      positions[3*i+2]=coord.z;
-+      masses[i]=Node::Object()->molecule->atommass(i);
-+      charges[i]=Node::Object()->molecule->atommass(i);
++      masses[i]=Node::Object()->molecule->atommass(index[i]);
++      charges[i]=Node::Object()->molecule->atomcharge(index[i]);
 +    };
 +
 +    if(spar->lattice.volume()>0.0){
@@ -141,7 +141,7 @@ patch -u -l -b -F 5 --suffix=.preplumed "./src/ComputeMgr.C" << \EOF_EOF
 +
 +    for(int i=0;i<forces.size();i++) forces[i]=0.0;
 +
-+    cmd("setMasses",&masses[0]);
++    cmd("setMasses",&masses[0]); cmd("setCharges",&charges[0]);
 +    cmd("setPositions",&positions[0]);
 +    cmd("setForces",&forces[0]);
 +
diff --git a/patches/namd-2.9.diff b/patches/namd-2.9.diff
index d4d242cac70af2c300ff7ff30e10716d0fed3b3c..73590a2ef9495acea6b6bfb8475c90a3b757370e 100644
--- a/patches/namd-2.9.diff
+++ b/patches/namd-2.9.diff
@@ -127,8 +127,8 @@ patch -u -l -b -F 5 --suffix=.preplumed "./src/ComputeMgr.C" << \EOF_EOF
 +      positions[3*i+0]=coord.x;
 +      positions[3*i+1]=coord.y;
 +      positions[3*i+2]=coord.z;
-+      masses[i]=Node::Object()->molecule->atommass(i);
-+      charges[i]=Node::Object()->molecule->atommass(i);
++      masses[i]=Node::Object()->molecule->atommass(index[i]);
++      charges[i]=Node::Object()->molecule->atomcharge(index[i]);
 +    };
 +
 +    if(spar->lattice.volume()>0.0){
@@ -140,7 +140,7 @@ patch -u -l -b -F 5 --suffix=.preplumed "./src/ComputeMgr.C" << \EOF_EOF
 +
 +    for(int i=0;i<forces.size();i++) forces[i]=0.0;
 +
-+    cmd("setMasses",&masses[0]);
++    cmd("setMasses",&masses[0]); cmd("setCharges",&charges[0]);
 +    cmd("setPositions",&positions[0]);
 +    cmd("setForces",&forces[0]);
 +