diff --git a/src/multicolvar/BridgedMultiColvarFunction.h b/src/multicolvar/BridgedMultiColvarFunction.h
index 75751605a84c3aee35506962a9273b6330bb90ee..8f650a2947b738202aae2a68c8f9a05117ada417 100644
--- a/src/multicolvar/BridgedMultiColvarFunction.h
+++ b/src/multicolvar/BridgedMultiColvarFunction.h
@@ -88,6 +88,8 @@ public:
   void applyBridgeForces( const std::vector<double>& bb );
   Vector getCentralAtomPos( const unsigned& curr );
   CatomPack getCentralAtomPack( const unsigned& basn, const unsigned& curr );
+  void normalizeVector( std::vector<double>& vals ) const ;
+  void normalizeVectorDerivatives( MultiValue& myvals ) const ;
 };
 
 inline
@@ -130,6 +132,16 @@ AtomNumber BridgedMultiColvarFunction::getAbsoluteIndexOfCentralAtom(const unsig
   return mycolv->getAbsoluteIndexOfCentralAtom(i); 
 }
 
+inline
+void BridgedMultiColvarFunction::normalizeVector( std::vector<double>& vals ) const {
+  mycolv->normalizeVector( vals );
+}
+
+inline
+void BridgedMultiColvarFunction::normalizeVectorDerivatives( MultiValue& myvals ) const {
+  mycolv->normalizeVectorDerivatives( myvals );
+}
+
 }
 }
 #endif
diff --git a/src/multicolvar/VolumeGradientBase.cpp b/src/multicolvar/VolumeGradientBase.cpp
index e30592754c46ced41b434c6eefed318d7f23dc2d..964a6b167bb85a24bbd52ffdf643842f2fe7ed64 100644
--- a/src/multicolvar/VolumeGradientBase.cpp
+++ b/src/multicolvar/VolumeGradientBase.cpp
@@ -19,6 +19,8 @@
    You should have received a copy of the GNU Lesser General Public License
    along with plumed.  If not, see <http://www.gnu.org/licenses/>.
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
+#include "core/PlumedMain.h"
+#include "core/ActionSet.h"
 #include "VolumeGradientBase.h"
 #include "CatomPack.h"
 
@@ -37,6 +39,15 @@ BridgedMultiColvarFunction(ao)
 
 void VolumeGradientBase::requestAtoms( const std::vector<AtomNumber>& atoms ){
   ActionAtomistic::requestAtoms(atoms); bridgeVariable=3*atoms.size();
+  std::map<std::string,bool> checklabs; Dependencies dd( getDependencies() );
+  for(Dependencies::iterator p=dd.begin();p!=dd.end();++p) checklabs.insert(std::pair<std::string,bool>((*p)->getLabel(),false)); 
+  for(ActionSet::const_iterator p=plumed.getActionSet().begin();p!=plumed.getActionSet().end();++p){
+      if( (*p)->getLabel()==getPntrToMultiColvar()->getLabel() ) break;
+      if( checklabs.count((*p)->getLabel()) ) checklabs[(*p)->getLabel()]=true;
+  }
+  for(std::map<std::string,bool>::iterator p=checklabs.begin();p!=checklabs.end();++p){
+     if( !p->second ) error("the input for the virtual atoms used in the input for this action must appear in the input file before the input multicolvar");
+  }
   addDependency( getPntrToMultiColvar() ); 
   tmpforces.resize( 3*atoms.size()+9 );
 }