diff --git a/Phys/DecayTreeTuple/src/TupleToolTagging.cpp b/Phys/DecayTreeTuple/src/TupleToolTagging.cpp
index cc5e215b526b0477cb5fe314c5b90ce249647819..6701c8c97a0afb4f1c4a0772039ad7fc3c4fc3fc 100755
--- a/Phys/DecayTreeTuple/src/TupleToolTagging.cpp
+++ b/Phys/DecayTreeTuple/src/TupleToolTagging.cpp
@@ -93,6 +93,7 @@ TupleToolTagging::TupleToolTagging( const std::string& type,
   declareProperty("ActiveTaggers", m_activeTaggers );
   declareProperty("useFTonDST", m_useFTonDST = false );
 
+  declareProperty("TagBeautyOnly", m_tagBeautyOnly = true);
 
 }//=============================================================================
 
@@ -124,6 +125,9 @@ StatusCode TupleToolTagging::initialize() {
     return Error("Unable to retrieve the IBTaggingTool tool",StatusCode::FAILURE);
   }
 
+  if( m_tagBeautyOnly ) debug() << "Running Flavour Tagging only on b-hadron particles" << endmsg;
+  else debug() << "Running Flavour Tagging on all particles (not only b-hadrons)" << endmsg;
+
   return StatusCode::SUCCESS;
 }
 
@@ -200,11 +204,14 @@ StatusCode TupleToolTagging::fill( const Particle* mother
 
   std::string loc = objectLocation( P->parent() );
 
-  // nothing to tag on something which is not a B
-  if( !P->particleID().hasBottom() ) return StatusCode::SUCCESS;
-
+  // nothing to tag on something which is not a B (unless explicitly required)
+  if( m_tagBeautyOnly )
+  {
+    if( !P->particleID().hasBottom()) return StatusCode::SUCCESS;
+  }
+  
   if( msgLevel( MSG::DEBUG ) ){
-    debug() << " Going to Save Tagging information for B candidate "
+    debug() << " Going to Save Tagging information for candidate "
             << endmsg;
   }
 
diff --git a/Phys/DecayTreeTuple/src/TupleToolTagging.h b/Phys/DecayTreeTuple/src/TupleToolTagging.h
index 1d98929e1b81f4eb8249227aa5880a87a7b13f7b..0ac6545a2c4ee7976246e8cdf329fbbc22a21feb 100755
--- a/Phys/DecayTreeTuple/src/TupleToolTagging.h
+++ b/Phys/DecayTreeTuple/src/TupleToolTagging.h
@@ -100,7 +100,7 @@ private:
   std::map<std::string, int> m_tagger_rmap;///<reverse, map of string to enum
 
   std::vector<std::string> m_activeTaggers; ///<List of active taggers
-  bool m_extendedTagging, m_useFTonDST;
+  bool m_extendedTagging, m_useFTonDST, m_tagBeautyOnly;
   VerboseData getVerboseData(const LHCb::Particle *p, const LHCb::Particle *B);
 };