diff --git a/src/multicolvar/MultiColvarDensity.cpp b/src/multicolvar/MultiColvarDensity.cpp
index e227bccca32a0162d3864cc0d98a76f5416b39de..9fffc355eb96a30da9882b13891ff10f6586a946 100644
--- a/src/multicolvar/MultiColvarDensity.cpp
+++ b/src/multicolvar/MultiColvarDensity.cpp
@@ -289,7 +289,7 @@ void MultiColvarDensity::compute( const unsigned& current, MultiValue& myvals )
   Vector fpos, apos = pbcDistance( origin, mycolv->getCentralAtomPos( mycolv->getActiveTask(current) ) );
   if( fractional ){ fpos = getPbc().realToScaled( apos ); } else { fpos=apos; }
 
-  myvals.setValue( 0, cvals[0] ); for(unsigned j=0;j<directions.size();++j) myvals.setValue( 1+j, fpos[ directions[j] ] );
+  myvals.setValue( 0, cweight*cvals[0] ); for(unsigned j=0;j<directions.size();++j) myvals.setValue( 1+j, fpos[ directions[j] ] );
   myvals.setValue( 1+directions.size(), cvals[1] );
 }
 
diff --git a/src/multicolvar/MultiColvarHistogram.cpp b/src/multicolvar/MultiColvarHistogram.cpp
index 9fd28b4dea5132812ff8371dfe9c32c27d4a291a..706f78bd9781ca425ca474eb051038e16a340045 100644
--- a/src/multicolvar/MultiColvarHistogram.cpp
+++ b/src/multicolvar/MultiColvarHistogram.cpp
@@ -113,7 +113,7 @@ void MultiColvarHistogram::prepareForAveraging(){
       taskFlags[i]=1; stash->retrieveSequentialValue(i, false, cvals ); 
       norm += cvals[0];
   }
-  lockContributors(); ww = 1.0 / norm;
+  lockContributors(); ww = cweight / norm;
 }
 
 unsigned MultiColvarHistogram::getNumberOfQuantities() const {