diff --git a/Det/DetDesc/src/Lib/GeometryInfoPlus.cpp b/Det/DetDesc/src/Lib/GeometryInfoPlus.cpp
index 27e393645f078713238f89d1f83e8e6d3fb86ea1..cc0cb81c98dac228083ac09c7fad1522d1d53228 100644
--- a/Det/DetDesc/src/Lib/GeometryInfoPlus.cpp
+++ b/Det/DetDesc/src/Lib/GeometryInfoPlus.cpp
@@ -147,7 +147,7 @@ StatusCode GeometryInfoPlus::initialize()
           << endmsg;
   }
 
-  return registerCondition() && registerSupportGI() && ums->update(this);
+  return StatusCode{registerCondition() && registerSupportGI() && ums->update(this)};
 }
 //=============================================================================
 bool GeometryInfoPlus::hasLVolume() const
diff --git a/Det/RichDet/src/Lib/DeRichPMT.cpp b/Det/RichDet/src/Lib/DeRichPMT.cpp
index 8a3aae29a953d623b194e6a22a87b6cb6315a4dc..8eabe6d4c0338a06d6d66521a85940c6ae8b0a25 100644
--- a/Det/RichDet/src/Lib/DeRichPMT.cpp
+++ b/Det/RichDet/src/Lib/DeRichPMT.cpp
@@ -45,7 +45,6 @@ const CLID& DeRichPMT::classID()
 
 StatusCode DeRichPMT::initialize()
 {
-  StatusCode sc = StatusCode::SUCCESS;
   MsgStream msg( msgSvc(), "DeRichPMT" );
 
   // store the name of the PMT, without the /dd/Structure part
@@ -86,7 +85,7 @@ StatusCode DeRichPMT::initialize()
   updMgrSvc()->registerCondition( this, deRichSys(), &DeRichPMT::initPMTQuantumEff );
 
   // Trigger first update
-  sc = sc && ( updMgrSvc()->update(this) );
+  StatusCode sc = updMgrSvc()->update(this);
   if ( sc.isFailure() ) { fatal() << "UMS updates failed" << endmsg; }
 
   return sc;
@@ -124,7 +123,7 @@ StatusCode DeRichPMT::getPMTParameters()
   if ( !deRich ) { return StatusCode::FAILURE; }
 
   const std::string effnumPixCond = "RichPmtTotNumPixel";
-  m_effNumActivePixs = ( deRich->exists(effnumPixCond) ? 
+  m_effNumActivePixs = ( deRich->exists(effnumPixCond) ?
                          (FType)deRich->param<int>(effnumPixCond) : 64.0 );
 
   // CRJ - To reduce PMT memory size do not load parameters not used yet ...
@@ -174,23 +173,23 @@ StatusCode DeRichPMT::getPMTParameters()
 
   }
   m_Rich2UseGrandPmt = false;
-  if ( Rich2PmtArrayConfig >= 1 ) 
+  if ( Rich2PmtArrayConfig >= 1 )
   {
     m_Rich2UseGrandPmt = true;
-    if ( Rich2PmtArrayConfig == 2 ) 
+    if ( Rich2PmtArrayConfig == 2 )
     {
       m_Rich2UseMixedPmt = true;
     }
   }
 
   const FType Rich1Rich2ZDivideLimit = 6000.0;
-  
+
   // Which RICH are we in ?
   const Gaudi::XYZPoint atestPoint(0.0,0.0,0.0);
   const auto atestGlobalPoint = geometry()->toGlobalMatrix() * atestPoint ;
   m_rich = ( atestGlobalPoint.z() > Rich1Rich2ZDivideLimit ? Rich::Rich2 : Rich::Rich1 );
 
-  if ( exists("RichPmtLensMagnficationFactor") ) 
+  if ( exists("RichPmtLensMagnficationFactor") )
   {
     m_PmtLensMagRatio = deRich->param<double>("RichPmtLensMagnficationFactor"  );
   }
@@ -203,7 +202,7 @@ StatusCode DeRichPMT::getPMTParameters()
   {
     m_PmtLensRoc2 = std::pow( deRich->param<double>("RichPmtLensRadiusofCurvature"), 2 );
   }
-  else 
+  else
   {
     m_PmtLensRoc2 = std::pow( 100000.0, 2 );
   }
@@ -264,7 +263,7 @@ StatusCode DeRichPMT::updateGeometry()
 
 //=============================================================================
 
-Gaudi::XYZPoint 
+Gaudi::XYZPoint
 DeRichPMT::RichPmtLensReconFromPhCath( const Gaudi::XYZPoint & aPhCathCoord ) const
 {
 
@@ -294,7 +293,7 @@ bool DeRichPMT::detectionPoint( const LHCb::RichSmartID smartID,
                                 Gaudi::XYZPoint& detectPoint,
                                 bool photoCathodeSide ) const
 {
-  const auto aLocalHit = getAnodeHitCoordFromMultTypePixelNum( smartID.pixelCol(), 
+  const auto aLocalHit = getAnodeHitCoordFromMultTypePixelNum( smartID.pixelCol(),
                                                                smartID.pixelRow(),
                                                                smartID.rich() );
 
@@ -305,15 +304,15 @@ bool DeRichPMT::detectionPoint( const LHCb::RichSmartID smartID,
   if ( UNLIKELY(photoCathodeSide) )
   {
     const Gaudi::XYZPoint aPhCathHit( aLocalHit.x(), aLocalHit.y(), zPh );
-    detectPoint = ( geometry()->toGlobalMatrix() * 
+    detectPoint = ( geometry()->toGlobalMatrix() *
                     ( m_PmtLensFlag ? RichPmtLensReconFromPhCath(aPhCathHit) : aPhCathHit ) );
   }
   else
   {
     const auto zQwExt = zPh + m_PmtQwZSize;
     const Gaudi::XYZPoint aQWExtHit ( aLocalHit.x(), aLocalHit.y(), zQwExt );
-    detectPoint = ( geometry()->toGlobalMatrix() * 
-                    ( m_PmtLensFlag ? RichPmtLensReconFromPhCath(aQWExtHit) : aQWExtHit ) );       
+    detectPoint = ( geometry()->toGlobalMatrix() *
+                    ( m_PmtLensFlag ? RichPmtLensReconFromPhCath(aQWExtHit) : aQWExtHit ) );
   }
 
   return true;
diff --git a/Det/RichDet/src/Lib/DeRichPMTPanel.cpp b/Det/RichDet/src/Lib/DeRichPMTPanel.cpp
index c13de88950ec56a2a217393ee7ab9044d65bda60..449cfa7e618db7c44444781ab6572e3db98cb555 100644
--- a/Det/RichDet/src/Lib/DeRichPMTPanel.cpp
+++ b/Det/RichDet/src/Lib/DeRichPMTPanel.cpp
@@ -53,8 +53,6 @@ const CLID& DeRichPMTPanel::classID()
 //=========================================================================
 StatusCode DeRichPMTPanel::initialize()
 {
-  StatusCode sc = StatusCode::SUCCESS;
-
   // store the name of the panel, without the /dd/Structure part
   const auto pos = name().find("Rich");
   setMyName( std::string::npos != pos ? name().substr(pos) : "DeRichPMTPanel_NO_NAME" );
@@ -68,9 +66,7 @@ StatusCode DeRichPMTPanel::initialize()
   updMgrSvc()->registerCondition( this, geometry(), &DeRichPMTPanel::geometryUpdate );
 
   // trigger first UMS update
-  sc = sc && updMgrSvc()->update(this);
-
-  return sc;
+  return updMgrSvc()->update(this);
 }
 
 //=========================================================================
diff --git a/Event/EventPacker/src/component/PackParticlesAndVertices.cpp b/Event/EventPacker/src/component/PackParticlesAndVertices.cpp
index 6d6d294d4a70e2d84cf3628e6347893c0f3c518d..5c82e2c3631426a70748dfd44b5f2049b1182f3e 100644
--- a/Event/EventPacker/src/component/PackParticlesAndVertices.cpp
+++ b/Event/EventPacker/src/component/PackParticlesAndVertices.cpp
@@ -176,12 +176,12 @@ StatusCode PackParticlesAndVertices::execute()
         if ( m_deleteInput ) toBeDeleted.push_back( rverts );
         if ( rverts->empty() ) continue;
         if ( msgLevel( MSG::DEBUG ) )
-          debug () << format( "%4d RecVertices in ", rverts->size() ) 
+          debug () << format( "%4d RecVertices in ", rverts->size() )
                    << name << endmsg;
         packARecVertexContainer( rverts, *prverts );
       }
       if ( msgLevel( MSG::DEBUG ) )
-        debug() << "Stored " << prverts->vertices().size() << " packed RecVertices" 
+        debug() << "Stored " << prverts->vertices().size() << " packed RecVertices"
                 << endmsg;
     }
   }
@@ -205,7 +205,7 @@ StatusCode PackParticlesAndVertices::execute()
         if ( m_deleteInput ) toBeDeleted.push_back( rels );
         if ( rels->relations().empty() ) continue;
         if ( msgLevel( MSG::DEBUG ) )
-          debug () << format( "%4d relations in ", rels->relations().size() ) 
+          debug () << format( "%4d relations in ", rels->relations().size() )
                    << name << endmsg;
         packAP2PRelationContainer( rels, *prels );
       }
@@ -239,7 +239,7 @@ StatusCode PackParticlesAndVertices::execute()
         packAP2IntRelationContainer( partIds, *pPartIds );
       }
       if ( msgLevel( MSG::DEBUG ) )
-        debug() << "Stored " << pPartIds->relations().size() 
+        debug() << "Stored " << pPartIds->relations().size()
                 << " packed Particle2Ints" << endmsg;
     }
   }
@@ -303,7 +303,7 @@ StatusCode PackParticlesAndVertices::execute()
         packAProtoParticleContainer( protos, *pprotos );
       }
       if ( msgLevel( MSG::DEBUG ) )
-        debug() << "Stored " << pprotos->protos().size() << " packed ProtoParticles" 
+        debug() << "Stored " << pprotos->protos().size() << " packed ProtoParticles"
                 << endmsg;
     }
   }
@@ -388,7 +388,7 @@ StatusCode PackParticlesAndVertices::execute()
         packATrackContainer( tracks, *ptracks );
       }
       if ( msgLevel( MSG::DEBUG ) )
-        debug() << "Stored " << ptracks->tracks().size() << " packed Tracks" 
+        debug() << "Stored " << ptracks->tracks().size() << " packed Tracks"
                 << endmsg;
     }
   }
@@ -414,7 +414,7 @@ StatusCode PackParticlesAndVertices::execute()
         if ( m_deleteInput ) toBeDeleted.push_back( rels );
         if ( rels->relations().empty() ) continue;
         if ( msgLevel( MSG::DEBUG ) )
-          debug () << format( "%4d relations in ", rels->relations().size() ) << name 
+          debug () << format( "%4d relations in ", rels->relations().size() ) << name
                    << endmsg;
         packAP2PRelationContainer( rels, *prels );
       }
@@ -443,7 +443,7 @@ StatusCode PackParticlesAndVertices::execute()
         if ( m_deleteInput ) toBeDeleted.push_back( rels );
         if ( rels->relations().empty() ) continue;
         if ( msgLevel( MSG::DEBUG ) )
-          debug () << format( "%4d relations in ", rels->relations().size() ) << name 
+          debug () << format( "%4d relations in ", rels->relations().size() ) << name
                    << endmsg;
         packAP2PRelationContainer( rels, *prels );
       }
@@ -464,9 +464,9 @@ StatusCode PackParticlesAndVertices::execute()
     {
       const StatusCode ssc = evtSvc()->unregisterObject( it );
       if ( ssc.isSuccess() ) { delete it; it = nullptr; }
-      sc = sc && ssc;
+      if ( sc ) sc = ssc;
     }
-    if ( sc.isFailure() ) 
+    if ( sc.isFailure() )
     { return Error( "Failed to delete input data as requested", sc ); }
   }
 
@@ -845,7 +845,7 @@ packATrackContainer( const LHCb::Tracks* tracks,
 //=========================================================================
 //  Pack a container of vertices in the PackedVertices object
 //=========================================================================
-void 
+void
 PackParticlesAndVertices::
 packAVertexContainer ( const LHCb::Vertices* verts,
                        LHCb::PackedVertices& pverts ) const
@@ -898,7 +898,7 @@ packAVertexContainer ( const LHCb::Vertices* verts,
 //=========================================================================
 //  Pack a container of RecVertex
 //=========================================================================
-void 
+void
 PackParticlesAndVertices::
 packARecVertexContainer( const LHCb::RecVertices* rVerts,
                          LHCb::PackedRecVertices& pRVerts ) const
diff --git a/Event/EventPacker/src/lib/PackedCaloAdc.cpp b/Event/EventPacker/src/lib/PackedCaloAdc.cpp
index e4ecbde0d18d008899a9513e0081ae9853424c73..f4a654a5758de077ce4e4393d5bb1f33e1abeb29 100644
--- a/Event/EventPacker/src/lib/PackedCaloAdc.cpp
+++ b/Event/EventPacker/src/lib/PackedCaloAdc.cpp
@@ -26,7 +26,7 @@ void CaloAdcPacker::pack( const DataVector & adcs, PackedDataVector & padcs ) co
   }
 }
 
-void CaloAdcPacker::unpack( const PackedDataVector & padcs, 
+void CaloAdcPacker::unpack( const PackedDataVector & padcs,
                             DataVector             & adcs ) const
 {
   if ( isSupportedVer(padcs.packingVersion()) )
@@ -43,7 +43,7 @@ void CaloAdcPacker::unpack( const PackedDataVector & padcs,
   }
 }
 
-StatusCode CaloAdcPacker::check( const DataVector & dataA, 
+StatusCode CaloAdcPacker::check( const DataVector & dataA,
                                  const DataVector & dataB ) const
 {
   StatusCode sc = StatusCode::SUCCESS;
@@ -52,7 +52,7 @@ StatusCode CaloAdcPacker::check( const DataVector & dataA,
   auto iA(dataA.begin()), iB(dataB.begin());
   for ( ; iA != dataA.end() && iB != dataB.end(); ++iA, ++iB )
   {
-    sc = sc && check( **iA, **iB );
+    if ( sc ) sc = check( **iA, **iB );
   }
   // Return final status
   return sc;
@@ -81,7 +81,7 @@ StatusCode CaloAdcPacker::check( const Data & dataA,
   if ( !ok ){ const std::string loc = ( dataA.parent() && dataA.parent()->registry() ?
                               dataA.parent()->registry()->identifier() : "Not in TES" );
     parent().warning() << "Problem with CaloAdc data packing :-" << endmsg
-                       << "  Original Adc key=" << dataA.key() 
+                       << "  Original Adc key=" << dataA.key()
                        << " in '" << loc << "'" << endmsg
                        << dataA << endmsg
                        << "  Unpacked Adc" << endmsg
diff --git a/Event/EventPacker/src/lib/PackedCaloCluster.cpp b/Event/EventPacker/src/lib/PackedCaloCluster.cpp
index f528dbffec7d0e37c5f05fbdf26bfcb3c5914fd2..fcf4195ef9b2bb3044d0fd37fdde14712ce2c012 100644
--- a/Event/EventPacker/src/lib/PackedCaloCluster.cpp
+++ b/Event/EventPacker/src/lib/PackedCaloCluster.cpp
@@ -34,10 +34,10 @@ void CaloClusterPacker::pack( const DataVector & clus,
       pclu.pos_y = m_pack.position( clu->position().y() );
       pclu.pos_z = m_pack.position( clu->position().z() );
       pclu.pos_e = m_pack.energy  ( clu->position().e() );
-      
+
       pclu.pos_c0 = m_pack.position( clu->position().center()[0] );
       pclu.pos_c1 = m_pack.position( clu->position().center()[1] );
-      
+
       const auto err0 = safe_sqrt( clu->position().covariance()(0,0) );
       const auto err1 = safe_sqrt( clu->position().covariance()(1,1) );
       const auto err2 = safe_sqrt( clu->position().covariance()(2,2) );
@@ -47,7 +47,7 @@ void CaloClusterPacker::pack( const DataVector & clus,
       pclu.pos_cov10 = m_pack.fraction( clu->position().covariance()(1,0), err1*err0 );
       pclu.pos_cov20 = m_pack.fraction( clu->position().covariance()(2,0), err2*err0 );
       pclu.pos_cov21 = m_pack.fraction( clu->position().covariance()(2,1), err2*err1 );
-      
+
       const auto serr0 = safe_sqrt( clu->position().spread()(0,0) );
       const auto serr1 = safe_sqrt( clu->position().spread()(1,1) );
       pclu.pos_spread00 = m_pack.position( serr0 );
@@ -97,15 +97,15 @@ void CaloClusterPacker::unpack( const PackedDataVector & pclus,
 
       // position
       typedef LHCb::CaloPosition CaloP;
-      
+
       clu->position().setZ( m_pack.position(pclu.pos_z) );
       clu->position().setParameters( CaloP::Parameters( m_pack.position(pclu.pos_x),
                                                         m_pack.position(pclu.pos_y),
                                                         m_pack.energy  (pclu.pos_e) ) );
-      
+
       clu->position().setCenter( CaloP::Center( m_pack.position(pclu.pos_c0),
                                                 m_pack.position(pclu.pos_c1) ) );
-      
+
       auto & cov = clu->position().covariance();
       const auto err0 = m_pack.position( pclu.pos_cov00 );
       const auto err1 = m_pack.position( pclu.pos_cov11 );
@@ -116,7 +116,7 @@ void CaloClusterPacker::unpack( const PackedDataVector & pclus,
       cov(2,0) = err2 * err0 * m_pack.fraction( pclu.pos_cov20 );
       cov(2,1) = err2 * err1 * m_pack.fraction( pclu.pos_cov21 );
       cov(2,2) = err2 * err2;
-      
+
       auto & spr = clu->position().spread();
       const auto serr0 = m_pack.position( pclu.pos_spread00 );
       const auto serr1 = m_pack.position( pclu.pos_spread11 );
@@ -125,7 +125,7 @@ void CaloClusterPacker::unpack( const PackedDataVector & pclus,
       spr(1,1) = serr1 * serr1;
 
       // entries
-      clu->entries().reserve( pclu.lastEntry - pclu.firstEntry ); 
+      clu->entries().reserve( pclu.lastEntry - pclu.firstEntry );
       for ( auto iE = pclu.firstEntry; iE < pclu.lastEntry; ++iE )
       {
         // get the packed entry
@@ -160,7 +160,7 @@ StatusCode CaloClusterPacker::check( const DataVector & dataA,
   auto iA(dataA.begin()), iB(dataB.begin());
   for ( ; iA != dataA.end() && iB != dataB.end(); ++iA, ++iB )
   {
-    sc = sc && check( **iA, **iB );
+    if ( sc ) sc = check( **iA, **iB );
   }
 
   // Return final status
@@ -266,7 +266,7 @@ StatusCode CaloClusterPacker::check( const Data & dataA,
     const std::string loc = ( dataA.parent() && dataA.parent()->registry() ?
                               dataA.parent()->registry()->identifier() : "Not in TES" );
     parent().warning() << "Problem with CaloCluster data packing :-" << endmsg
-                       << "  Original Cluster key=" << dataA.key() 
+                       << "  Original Cluster key=" << dataA.key()
                        << " in '" << loc << "'" << endmsg
                        << dataA << endmsg
                        << "  Unpacked Cluster" << endmsg
diff --git a/Event/EventPacker/src/lib/PackedCaloDigit.cpp b/Event/EventPacker/src/lib/PackedCaloDigit.cpp
index 0992b8358656d6dda588a494d981eabbec4c5c14..7630796ed5d5a28fc34130e36d6fed2d1daa8f3c 100644
--- a/Event/EventPacker/src/lib/PackedCaloDigit.cpp
+++ b/Event/EventPacker/src/lib/PackedCaloDigit.cpp
@@ -10,7 +10,7 @@
 
 using namespace LHCb;
 
-void CaloDigitPacker::pack( const DataVector & digs, 
+void CaloDigitPacker::pack( const DataVector & digs,
                             PackedDataVector & pdigs ) const
 {
   if ( isSupportedVer(pdigs.packingVersion()) )
@@ -28,7 +28,7 @@ void CaloDigitPacker::pack( const DataVector & digs,
   }
 }
 
-void CaloDigitPacker::unpack( const PackedDataVector & pdigs, 
+void CaloDigitPacker::unpack( const PackedDataVector & pdigs,
                               DataVector             & digs ) const
 {
   if ( isSupportedVer(pdigs.packingVersion()) )
@@ -45,7 +45,7 @@ void CaloDigitPacker::unpack( const PackedDataVector & pdigs,
   }
 }
 
-StatusCode CaloDigitPacker::check( const DataVector & dataA, 
+StatusCode CaloDigitPacker::check( const DataVector & dataA,
                                    const DataVector & dataB ) const
 {
   StatusCode sc = StatusCode::SUCCESS;
@@ -54,7 +54,7 @@ StatusCode CaloDigitPacker::check( const DataVector & dataA,
   auto iA(dataA.begin()), iB(dataB.begin());
   for ( ; iA != dataA.end() && iB != dataB.end(); ++iA, ++iB )
   {
-    sc = sc && check( **iA, **iB );
+    if ( sc ) sc = check( **iA, **iB );
   }
   // Return final status
   return sc;
@@ -82,7 +82,7 @@ StatusCode CaloDigitPacker::check( const Data & dataA, const Data & dataB ) cons
   if ( !ok ){ const std::string loc = ( dataA.parent() && dataA.parent()->registry() ?
                               dataA.parent()->registry()->identifier() : "Not in TES" );
     parent().warning() << "Problem with CaloDigit data packing :-" << endmsg
-                       << "  Original Digit key=" << dataA.key() 
+                       << "  Original Digit key=" << dataA.key()
                        << " in '" << loc << "'" << endmsg
                        << dataA << endmsg
                        << "  Unpacked Digit" << endmsg
diff --git a/Event/EventPacker/src/lib/PackedFlavourTag.cpp b/Event/EventPacker/src/lib/PackedFlavourTag.cpp
index b9b6813d21fa31e94c4115da6049a8b738374624..99a5898e9d2dea1bf60e04c9648d0e57a5663894 100644
--- a/Event/EventPacker/src/lib/PackedFlavourTag.cpp
+++ b/Event/EventPacker/src/lib/PackedFlavourTag.cpp
@@ -202,7 +202,7 @@ StatusCode FlavourTagPacker::check( const DataVector & dataA,
   auto iA(dataA.begin()), iB(dataB.begin());
   for ( ; iA != dataA.end() && iB != dataB.end(); ++iA, ++iB )
   {
-    sc = sc && check( **iA, **iB );
+    if ( sc ) sc = check( **iA, **iB );
   }
 
   // Return final status
diff --git a/Event/EventPacker/src/lib/PackedMuonPID.cpp b/Event/EventPacker/src/lib/PackedMuonPID.cpp
index 9543937fe3201431b24884cbb97c300605c19152..3fddbb12da8d7fcde5d54a6f7a6be3d3310b7711 100644
--- a/Event/EventPacker/src/lib/PackedMuonPID.cpp
+++ b/Event/EventPacker/src/lib/PackedMuonPID.cpp
@@ -185,7 +185,7 @@ StatusCode MuonPIDPacker::check( const DataVector & dataA,
   auto iA(dataA.begin()), iB(dataB.begin());
   for ( ; iA != dataA.end() && iB != dataB.end(); ++iA, ++iB )
   {
-    sc = sc && check( **iA, **iB );
+    if ( sc ) sc = check( **iA, **iB );
   }
 
   // Return final status
diff --git a/Event/EventPacker/src/lib/PackedParticle.cpp b/Event/EventPacker/src/lib/PackedParticle.cpp
index a91b2d169302e2b7b9d76f7744035e09082fd91b..0b6d70824d3129c26fc6819fe3a901b444c9d951 100644
--- a/Event/EventPacker/src/lib/PackedParticle.cpp
+++ b/Event/EventPacker/src/lib/PackedParticle.cpp
@@ -303,7 +303,7 @@ StatusCode ParticlePacker::check( const DataVector & dataA,
   auto iA(dataA.begin()), iB(dataB.begin());
   for ( ; iA != dataA.end() && iB != dataB.end(); ++iA, ++iB )
   {
-    sc = sc && check( **iA, **iB );
+    if ( sc ) sc = check( **iA, **iB );
   }
 
   // Return final status
diff --git a/Event/EventPacker/src/lib/PackedProtoParticle.cpp b/Event/EventPacker/src/lib/PackedProtoParticle.cpp
index 04c05385f4e7d2f2dc488656175fe45bae4e874a..e4e7c7e520ccaecc032ef2e11fa0a1e410ed6afe 100644
--- a/Event/EventPacker/src/lib/PackedProtoParticle.cpp
+++ b/Event/EventPacker/src/lib/PackedProtoParticle.cpp
@@ -145,7 +145,7 @@ ProtoParticlePacker::unpack( const PackedData       & pproto,
   {
 
     if ( parent().msgLevel(MSG::VERBOSE) )
-      parent().verbose() << "UnPacking ProtoParticle " << pproto.key 
+      parent().verbose() << "UnPacking ProtoParticle " << pproto.key
                          << " Ver=" << (int)ver << endmsg;
 
     int hintID(0), key(0);
@@ -271,7 +271,7 @@ StatusCode ProtoParticlePacker::check( const Data & dataA,
   const DataPacking::DataChecks ch(parent());
 
   bool isOK = true;
-  
+
   // key
   isOK &= ch.compareInts( "Key", dataA.key(), dataB.key() );
 
@@ -304,7 +304,7 @@ StatusCode ProtoParticlePacker::check( const Data & dataA,
       if ( isOK )
       {
         if ( ( iE.second->second == 0 && iE.second->second != iE.first->second ) ||
-             ( iE.second->second != 0 && 
+             ( iE.second->second != 0 &&
                1.e-7 < fabs( ( iE.second->second - iE.first->second ) / iE.second->second ) ) ) isOK = false;
       }
     }
@@ -314,22 +314,22 @@ StatusCode ProtoParticlePacker::check( const Data & dataA,
 
   if ( !isOK || MSG::DEBUG >= parent().msgLevel() )
   {
-    parent().info() << "===== ProtoParticle key " << dataA.key() 
+    parent().info() << "===== ProtoParticle key " << dataA.key()
                     << " Check OK = " << isOK
                     << endmsg;
     parent().info() << format( "Old   track %8x  richPID %8X  muonPID%8x  nCaloHypo%4d nExtra%4d",
-                               dataA.track(), dataA.richPID(), dataA.muonPID(), 
+                               dataA.track(), dataA.richPID(), dataA.muonPID(),
                                dataA.calo().size(), dataA.extraInfo().size() )
                     << endmsg;
     parent().info() << format( "Test  track %8x  richPID %8X  muonPID%8x  nCaloHypo%4d nExtra%4d",
-                               dataB.track(), dataB.richPID(), dataB.muonPID(), 
+                               dataB.track(), dataB.richPID(), dataB.muonPID(),
                                dataB.calo().size(), dataB.extraInfo().size() )
                     << endmsg;
     for ( auto iC = std::make_pair(dataA.calo().begin(),dataB.calo().begin());
           iC.first != dataA.calo().end() && iC.second != dataB.calo().end();
           ++iC.first, ++iC.second )
     {
-      parent().info() << format( "   old CaloHypo %8x   new %8x", iC.first->target(), iC.second->target() )  
+      parent().info() << format( "   old CaloHypo %8x   new %8x", iC.first->target(), iC.second->target() )
                       << endmsg;
     }
     for ( auto iE = std::make_pair(dataA.extraInfo().begin(),dataB.extraInfo().begin());
@@ -340,7 +340,7 @@ StatusCode ProtoParticlePacker::check( const Data & dataA,
                                  iE.first->first, iE.first->second, iE.second->first, iE.second->second )
                       << endmsg;
     }
-   
+
   }
 
   return ( isOK ? StatusCode::SUCCESS : StatusCode::FAILURE );
@@ -359,12 +359,12 @@ ProtoParticlePacker::check( const DataVector & dataA,
                    << endmsg;
     return StatusCode::FAILURE;
   }
-  
+
   for ( auto it = std::make_pair( dataA.begin(), dataB.begin() );
         it.first != dataA.end() && it.second != dataB.end();
         ++it.first, ++it.second )
   {
-    sc = sc && check( **it.first, **it.second );
+    if ( sc ) sc = check( **it.first, **it.second );
   }
 
   return sc;
diff --git a/Event/EventPacker/src/lib/PackedRichPID.cpp b/Event/EventPacker/src/lib/PackedRichPID.cpp
index 1ad36792bf615f4299d9a1c1492ad355fc044ed9..90c76b566dee7c55d8cf46c31b98c2500cbd7011 100644
--- a/Event/EventPacker/src/lib/PackedRichPID.cpp
+++ b/Event/EventPacker/src/lib/PackedRichPID.cpp
@@ -90,8 +90,8 @@ void RichPIDPacker::unpack( const PackedData       & ppid,
       }
       else { parent().Error( "Corrupt RichPID Track SmartRef detected." ).ignore(); }
     }
-    // If the packing version is pre-Deuteron, check the BestPID field and correct for 
-    // the fact the numerical value of the Below Threshold enum changed when Deuteron 
+    // If the packing version is pre-Deuteron, check the BestPID field and correct for
+    // the fact the numerical value of the Below Threshold enum changed when Deuteron
     // was added.
     if ( ver < 4 && Rich::Deuteron == pid.bestParticleID() )
     {
@@ -171,7 +171,7 @@ StatusCode RichPIDPacker::check( const DataVector & dataA,
   auto iA(dataA.begin()), iB(dataB.begin());
   for ( ; iA != dataA.end() && iB != dataB.end(); ++iA, ++iB )
   {
-    sc = sc && check( **iA, **iB );
+    if ( sc ) sc = check( **iA, **iB );
   }
 
   // Return final status
diff --git a/Event/EventPacker/src/lib/PackedTrack.cpp b/Event/EventPacker/src/lib/PackedTrack.cpp
index 9b0265e32c052f850ac80ba30caf79fcb50a14a4..4e84cd584cefea91a5586ecc64189d9e4a34ac7f 100644
--- a/Event/EventPacker/src/lib/PackedTrack.cpp
+++ b/Event/EventPacker/src/lib/PackedTrack.cpp
@@ -472,7 +472,7 @@ StatusCode TrackPacker::check( const DataVector & dataA,
   {
     LHCb::Track* oTrack = (*itOld++);
     LHCb::Track* tTrack = (*itTest++);
-    sc = sc && check( *oTrack, *tTrack );
+    if ( sc ) sc = check( *oTrack, *tTrack );
   }
 
   return sc;
diff --git a/Event/EventPacker/src/lib/PackedVertex.cpp b/Event/EventPacker/src/lib/PackedVertex.cpp
index 4048d606e76702ef5b6b3cd2334ab2a3f175f560..e6d27d758aa5790e2755a34a5fd30bc23228e157 100644
--- a/Event/EventPacker/src/lib/PackedVertex.cpp
+++ b/Event/EventPacker/src/lib/PackedVertex.cpp
@@ -134,7 +134,7 @@ void VertexPacker::unpack( const PackedDataVector & pverts,
                            DataVector             & verts ) const
 {
   verts.reserve( pverts.data().size() );
-  
+
   for ( const auto & pvert : pverts.data() )
   {
     // make and save new pid in container
@@ -156,7 +156,7 @@ StatusCode VertexPacker::check( const DataVector & dataA,
   auto iA(dataA.begin()), iB(dataB.begin());
   for ( ; iA != dataA.end() && iB != dataB.end(); ++iA, ++iB )
   {
-    sc = sc && check( **iA, **iB );
+    if ( sc ) sc = check( **iA, **iB );
   }
 
   // Return final status
@@ -197,10 +197,10 @@ StatusCode VertexPacker::check( const Data & dataA,
   // If comparison not OK, print full information
   if ( !ok )
   {
-    const std::string loc = ( dataA.parent() && dataA.parent()->registry() ? 
+    const std::string loc = ( dataA.parent() && dataA.parent()->registry() ?
                               dataA.parent()->registry()->identifier() : "Not in TES" );
     parent().warning() << "Problem with Vertex data packing :-" << endmsg
-                       << "  Original Vertex key=" << dataA.key() 
+                       << "  Original Vertex key=" << dataA.key()
                        << " in '" << loc << "'" << endmsg
                        << dataA << endmsg
                        << "  Unpacked Vertex" << endmsg
diff --git a/Kernel/FSRAlgs/src/GenFSRMerge.cpp b/Kernel/FSRAlgs/src/GenFSRMerge.cpp
index 0db9f890fe70e2555e85e01b53c6b377cd0f4267..efa229812294c839cba7a37413f4ed1b3713bb7b 100644
--- a/Kernel/FSRAlgs/src/GenFSRMerge.cpp
+++ b/Kernel/FSRAlgs/src/GenFSRMerge.cpp
@@ -83,7 +83,7 @@ StatusCode GenFSRMerge::finalize()
 
   m_fileRecordSvc.reset();
 
-  return (mergeSC && GaudiAlgorithm::finalize()); // must be called after all other actions
+  return StatusCode{mergeSC && GaudiAlgorithm::finalize()}; // must be called after all other actions
 }
 
 //=============================================================================
diff --git a/Kernel/FSRAlgs/src/LumiMergeFSR.cpp b/Kernel/FSRAlgs/src/LumiMergeFSR.cpp
index 28ec4a9120d05987d17ba66eac5418dfc72011e5..d1e801c713f89e6f4992a18bac9b6e87d46c666e 100644
--- a/Kernel/FSRAlgs/src/LumiMergeFSR.cpp
+++ b/Kernel/FSRAlgs/src/LumiMergeFSR.cpp
@@ -91,7 +91,7 @@ StatusCode LumiMergeFSR::finalize() {
   // integrate all FSRs in one go
   const StatusCode mergeSC = merge();
   m_fileRecordSvc.reset();
-  return ( mergeSC && GaudiAlgorithm::finalize() ); // must be called after all other actions
+  return StatusCode{ mergeSC && GaudiAlgorithm::finalize() }; // must be called after all other actions
 }
 
 //=========================================================================
diff --git a/Kernel/LHCbAlgs/src/AlgorithmCorrelations.cpp b/Kernel/LHCbAlgs/src/AlgorithmCorrelations.cpp
index cc4669096a442e047e17a7836c6087c08c6ccd95..b8069652b217eafb1e57eb4c83dcb3d490d32bbd 100644
--- a/Kernel/LHCbAlgs/src/AlgorithmCorrelations.cpp
+++ b/Kernel/LHCbAlgs/src/AlgorithmCorrelations.cpp
@@ -1,5 +1,5 @@
 // $Id: AlgorithmCorrelations.cpp,v 1.6 2009-04-15 09:48:14 pkoppenb Exp $
-// Include files 
+// Include files
 #include <boost/format.hpp>
 #include <math.h>
 
@@ -71,21 +71,21 @@ StatusCode AlgorithmCorrelations::reset(){
 
   // minimize?
   if ( m_minimize ) warning() << "Will only print non-zero efficient algorithms in table" << endmsg ;
-  
-  if ( m_decimals >= 0 ) info() << "Will print efficiencies with " << m_decimals 
+
+  if ( m_decimals >= 0 ) info() << "Will print efficiencies with " << m_decimals
                                 << " decimals (percent)" << endmsg ;
   else info() << "Will print efficiencies with automatic precision" << endmsg ;
 
   //  int i1 = 0 ;
-  
+
   m_conditionResults.reserve( m_conditionAlgorithms.size() );
   for ( const auto & alg : m_conditionAlgorithms )
   {
     m_conditionResults.emplace_back( alg );
   }
-  
+
   m_testResults.reserve( m_algorithmsToTest.size() );
-  m_AlgoMatrices.reserve( m_algorithmsToTest.size() * 
+  m_AlgoMatrices.reserve( m_algorithmsToTest.size() *
                           m_conditionAlgorithms.size() );
   for ( const auto & alg1 : m_algorithmsToTest )
   {
@@ -95,7 +95,7 @@ StatusCode AlgorithmCorrelations::reset(){
     for ( const auto & alg2 : m_conditionAlgorithms )
     {
       m_AlgoMatrices.emplace_back( alg1, alg2 ) ;
-      if (msgLevel(MSG::DEBUG)) 
+      if (msgLevel(MSG::DEBUG))
         debug() << "Pushed back pair " << alg1 << ", " << alg2 << endmsg ;
     }
   }
@@ -135,14 +135,14 @@ StatusCode AlgorithmCorrelations::addResults()
   {
     for ( const auto & ar2 : m_conditionResults )
     {
-      if ( isrm == m_AlgoMatrices.end() ) 
+      if ( isrm == m_AlgoMatrices.end() )
       {
-        return Error( "Reached end of matrices" );      
+        return Error( "Reached end of matrices" );
       }
       std::string a1, a2;
       isrm->getAlgorithms(a1,a2);
       if ( ( a1 != ar1.algo() ) || ( a2 != ar2.algo() )){
-        err() << "Confused! I see " << a1 << " and " << a2 << " and expect " 
+        err() << "Confused! I see " << a1 << " and " << a2 << " and expect "
               << ar1.algo() << " and " << ar2.algo() << endmsg ;
         return StatusCode::FAILURE;
       }
@@ -157,7 +157,7 @@ StatusCode AlgorithmCorrelations::addResults()
       } else {
         isrm->addConditionalResult(ar1.result(),ar2.result());
         verbose() << "Added result " << ar1.result() << " " << ar2.result()
-                  << " for " << a1 << " " << a2 << " and have now " << 
+                  << " for " << a1 << " " << a2 << " and have now " <<
           isrm->getConditionalFraction() << " of " << isrm->getFullStatistics() << endmsg ;
       }
       ++isrm;
@@ -168,16 +168,16 @@ StatusCode AlgorithmCorrelations::addResults()
 //=============================================================================
 // Fill a result - entry point
 //=============================================================================
-StatusCode AlgorithmCorrelations::fillResult(const std::string& algo, 
+StatusCode AlgorithmCorrelations::fillResult(const std::string& algo,
                                              const bool& result)
 {
-  return ( fillResult(algo,result,m_conditionResults) &&
-           fillResult(algo,result,m_testResults) );
+  return StatusCode{ fillResult(algo,result,m_conditionResults) &&
+                     fillResult(algo,result,m_testResults) };
 }
 //=============================================================================
 // Fill a result
 //=============================================================================
-StatusCode AlgorithmCorrelations::fillResult(const std::string& algo, 
+StatusCode AlgorithmCorrelations::fillResult(const std::string& algo,
                                              const bool& result,
                                              std::vector<AlgoResult>& Results)
 {
@@ -203,7 +203,7 @@ StatusCode AlgorithmCorrelations::fillResult(const std::string& algo,
   } else {
     if (msgLevel(MSG::VERBOSE)) verbose() << "Algorithm " << algo << " has not been found" << endmsg ;
   }
-  
+
   return StatusCode::SUCCESS;
 }
 //=============================================================================
@@ -212,7 +212,7 @@ StatusCode AlgorithmCorrelations::fillResult(const std::string& algo,
 StatusCode AlgorithmCorrelations::algorithms(const strings& algos)
 {
   m_algorithmsToTest = algos ;
-  m_algorithmsToTest.insert(m_algorithmsToTest.begin(),"ALWAYS");  
+  m_algorithmsToTest.insert(m_algorithmsToTest.begin(),"ALWAYS");
   return reset();
 }
 //=============================================================================
@@ -227,11 +227,11 @@ StatusCode AlgorithmCorrelations::algorithmsRow(const strings& algos)
 //=============================================================================
 StatusCode AlgorithmCorrelations::testAlgos(const strings& algos) const
 {
-  for ( auto i1 = algos.begin() ; i1!= algos.end(); ++i1 ) 
+  for ( auto i1 = algos.begin() ; i1!= algos.end(); ++i1 )
   {
-    for ( auto i2 = algos.begin() ; i1!= i2; ++i2 ) 
+    for ( auto i2 = algos.begin() ; i1!= i2; ++i2 )
     {
-      if ( *i1 == *i2 ) 
+      if ( *i1 == *i2 )
       {
         err() << "Duplicate instance of ``" << *i1 << "''" << endmsg ;
         err() << "Fix you options" << endmsg ;
@@ -263,7 +263,7 @@ StatusCode  AlgorithmCorrelations::printList() {
       always() << " is accepted with "<< rate % y12 ;
       always() << " probability when " << algo % a2 ;
       always() << " is true\n" ;
-    }  
+    }
   }
   always() << endmsg; ;
   return StatusCode::SUCCESS;
@@ -271,7 +271,7 @@ StatusCode  AlgorithmCorrelations::printList() {
 //=============================================================================
 //  Print a table
 //=============================================================================
-StatusCode AlgorithmCorrelations::printTable(void) 
+StatusCode AlgorithmCorrelations::printTable(void)
 {
 
   const unsigned int nalgow = happyAlgorithms() ;
@@ -283,17 +283,17 @@ StatusCode AlgorithmCorrelations::printTable(void)
   const unsigned int namelength =  name().length() ;
   const double halflength = ((double)nl - namelength )/2. ;
   const unsigned int nlh = (halflength>0 ? int(halflength) : 0 );
-  if (msgLevel(MSG::VERBOSE)) verbose() << name() << " namelength: " << namelength 
-                                        << " decimals: " << decimals 
+  if (msgLevel(MSG::VERBOSE)) verbose() << name() << " namelength: " << namelength
+                                        << " decimals: " << decimals
                                         << " longest: " << m_longestName
-                                        << " nl: " << nl 
-                                        << " halflength: " << halflength 
-                                        << " nlh: " << nlh 
+                                        << " nl: " << nl
+                                        << " halflength: " << halflength
+                                        << " nlh: " << nlh
                                         << endmsg ;
   std::string halfspace = "";
   if ( nlh > 0 ) halfspace = std::string(nlh,' ');
   if (msgLevel(MSG::DEBUG)) debug() << "Will print table with " << nl << " " << nlh << endmsg ;
-  
+
   const std::string hyphenline(nl, '-');
   const std::string equalline(nl, '=');
   const std::string crosses = std::string("  ")+std::string(4+decimals, '*') ;
@@ -317,13 +317,13 @@ StatusCode AlgorithmCorrelations::printTable(void)
   always() << equalline << "\n"  ;
   always() << "    " << algo % "Algorithm" << "   Eff.  " ;
 
-  if (!m_useNumbers) always() << std::string(decimals,' ');    // don't ask why I need this        
+  if (!m_useNumbers) always() << std::string(decimals,' ');    // don't ask why I need this
 
   unsigned int i = 0 ;
   for ( const auto & a : m_conditionAlgorithms )
   {
     if ( a == "ALWAYS" ) continue ;
-    if ( ( isEffective(a) )|| (!m_minimize)) 
+    if ( ( isEffective(a) )|| (!m_minimize))
     {
       if ( m_useNumbers ){
         ++i;
@@ -333,7 +333,7 @@ StatusCode AlgorithmCorrelations::printTable(void)
       }
     }
   }
-  
+
   always() << "\n" ;
   always() << hyphenline ;
   unsigned int ia1 = 0 ;
@@ -350,7 +350,7 @@ StatusCode AlgorithmCorrelations::printTable(void)
     /*
      * efficiency row
      */
-    if ( a2 == "ALWAYS" ) { 
+    if ( a2 == "ALWAYS" ) {
       if ( addline ){
         always() << "\n" << hyphenline ;
         addline = false ;
@@ -359,7 +359,7 @@ StatusCode AlgorithmCorrelations::printTable(void)
         always() << "\n" << "    " << algo % "Efficiency" << crosses << " |";
         addline = true ;
       } else {
-        if ( doprint ) { 
+        if ( doprint ) {
           ++ia1 ;               // increment
           always() << "\n" ;
           always() << smallnumber % ia1 << algo % a1 ;
@@ -378,7 +378,7 @@ StatusCode AlgorithmCorrelations::printTable(void)
         if ( a1 == "ALWAYS" ) y12 = 100.0*srm.getFullStatistics()/(double)m_nEvents ;
         if ( y12 < 0 ) always() << crosses ;
         else always() << percent % y12 << "%" ;
-      } 
+      }
     }
   }
   always() << "\n" << equalline << "\n" ;
@@ -398,7 +398,7 @@ StatusCode AlgorithmCorrelations::printTable(void)
 
   if (msgLevel(MSG::VERBOSE)) {
     printList() ;
-    
+
     for ( const auto & srm : m_AlgoMatrices )
     {
       std::string a1, a2;
@@ -407,25 +407,25 @@ StatusCode AlgorithmCorrelations::printTable(void)
                 << " " << m_nEvents << " " << algoRate(a1) << " " << algoRate(a2) << endmsg ;
     }
   }
-  
+
   return StatusCode::SUCCESS;
 }
 
 //=============================================================================
 //  number of algos that did something
 //=============================================================================
-int AlgorithmCorrelations::happyAlgorithms(void) const 
+int AlgorithmCorrelations::happyAlgorithms(void) const
 {
-  
-  if ( !m_minimize ) return m_conditionAlgorithms.size() ;  
+
+  if ( !m_minimize ) return m_conditionAlgorithms.size() ;
   int nalgow = 0 ;
   std::string firstalgo = "" ;
   for ( const auto & a : m_conditionAlgorithms )
   {
     if (( isEffective(a) ) && ( a != "ALWAYS" )) ++nalgow ;
     if (msgLevel(MSG::VERBOSE)) verbose() << "Algorithm " << a << " says: " << isEffective(a) << endmsg ;
-  } 
-  return nalgow;  
+  }
+  return nalgow;
 }
 
 //=============================================================================
@@ -460,14 +460,14 @@ bool AlgorithmCorrelations::isEffective(const std::string& name ) const
 //=============================================================================
 //  Algo did something
 //=============================================================================
-double AlgorithmCorrelations::algoRate(const std::string& name ) const 
+double AlgorithmCorrelations::algoRate(const std::string& name ) const
 {
   for ( const auto & srm : m_AlgoMatrices )
   {
     std::string a1, a2;
     srm.getAlgorithms( a1, a2 );
     if (( a1==name ) && ( a2=="ALWAYS")) return srm.getConditionalFraction() ;   // standard efficiency
-    if (( a2==name ) && ( a1=="ALWAYS")) 
+    if (( a2==name ) && ( a1=="ALWAYS"))
     {
       return ( m_nEvents>0 ? (double)srm.getFullStatistics()/(double)m_nEvents : 0 );
     }
diff --git a/Kernel/LHCbAlgs/src/FSRCleaner.cpp b/Kernel/LHCbAlgs/src/FSRCleaner.cpp
index 54956dfefb425dbf6fbc328a68653423da786962..80232a1b6480bb97801c7c094d2d4a055f21c5f9 100644
--- a/Kernel/LHCbAlgs/src/FSRCleaner.cpp
+++ b/Kernel/LHCbAlgs/src/FSRCleaner.cpp
@@ -30,7 +30,7 @@ StatusCode FSRCleaner::finalize()
   const StatusCode sc = EmptyEventNodeCleaner::execute();
 
   // return, try to avoid shortcutting the usual finalize
-  return ( EmptyEventNodeCleaner::finalize() && sc );
+  return StatusCode{ EmptyEventNodeCleaner::finalize() && sc };
 }
 
 //=============================================================================
diff --git a/Kernel/LHCbAlgs/tests/src/GenericToolTests.cpp b/Kernel/LHCbAlgs/tests/src/GenericToolTests.cpp
index 426e7a08a81580e2365fa4f8e87a20de58ab2dc2..0301042c8dccb82eb978014778438d2a55d5ca0f 100644
--- a/Kernel/LHCbAlgs/tests/src/GenericToolTests.cpp
+++ b/Kernel/LHCbAlgs/tests/src/GenericToolTests.cpp
@@ -31,9 +31,9 @@ namespace LHCbTests { namespace GenericTool {
       auto sc = ::Algorithm::initialize();
       if ( !sc ) return sc;
       info() << "getting the tools..." << endmsg;
-      sc = m_gt1.retrieve() &&
-           m_gt2a.retrieve() &&
-           m_gt2b.retrieve();
+      sc = StatusCode{m_gt1.retrieve() &&
+                      m_gt2a.retrieve() &&
+                      m_gt2b.retrieve()};
       return sc;
     }
     StatusCode execute() override {
diff --git a/Rich/RichKernel/src/lib/RichCommonBase.icpp b/Rich/RichKernel/src/lib/RichCommonBase.icpp
index a4d6c66c5a988fab9c5078bc394917c1f7a152f8..c80d342e6f1678c680e49e1df901f43be8923416 100755
--- a/Rich/RichKernel/src/lib/RichCommonBase.icpp
+++ b/Rich/RichKernel/src/lib/RichCommonBase.icpp
@@ -54,7 +54,7 @@ StatusCode Rich::CommonBase<PBASE>::initialize()
   m_toolReg =
     this -> template tool < IToolRegistry > ( "Rich::ToolRegistry",
                                               m_regName );
-  m_jos = this -> template svc<IJobOptionsSvc>( "JobOptionsSvc" ); 
+  m_jos = this -> template svc<IJobOptionsSvc>( "JobOptionsSvc" );
 
   // Printout from initialize
   if ( this -> msgLevel(MSG::DEBUG) )
@@ -279,14 +279,14 @@ Rich::CommonBase<PBASE>::propagateJobOptions( const std::string & from_name,
             // Search them to see if option is already set
             for ( const auto& prop_to : *to_props )
             {
-              if ( prop_from->name() == prop_to->name() ) 
-              { 
+              if ( prop_from->name() == prop_to->name() )
+              {
                 if (this->msgLevel(MSG::VERBOSE))
-                  this->verbose() << " " << to_name 
-                                  << "  -> Already has this option -> Not Setting" 
+                  this->verbose() << " " << to_name
+                                  << "  -> Already has this option -> Not Setting"
                                   << endmsg;
-                okToCopy = false; 
-                break; 
+                okToCopy = false;
+                break;
               }
             }
           }
@@ -304,7 +304,7 @@ Rich::CommonBase<PBASE>::propagateJobOptions( const std::string & from_name,
             this->Error( "Cannot set option '" + prop_from->name() +
                          "' for '" + to_name + "'" ).ignore();
           }
-          sc = sc && add_sc;
+          if ( sc ) sc = add_sc;
         }
 
       } // in list of properties to copy