diff --git a/HLT/Event/TrigByteStreamCnvSvc/src/TrigEventSelectorByteStream.cxx b/HLT/Event/TrigByteStreamCnvSvc/src/TrigEventSelectorByteStream.cxx
index e4524d8dc079af800220503a37201f4e3cf477c5..07d0c129775b3217d24aefec232ec5b520341203 100644
--- a/HLT/Event/TrigByteStreamCnvSvc/src/TrigEventSelectorByteStream.cxx
+++ b/HLT/Event/TrigByteStreamCnvSvc/src/TrigEventSelectorByteStream.cxx
@@ -21,7 +21,7 @@
 // Standard constructor
 // =============================================================================
 TrigEventSelectorByteStream::TrigEventSelectorByteStream(const std::string& name, ISvcLocator* svcLoc)
-: AthService(name, svcLoc),
+: base_class(name, svcLoc),
   m_eventSource("ByteStreamInputSvc", name),
   m_evtStore("StoreGateSvc", name) {
   declareProperty("ByteStreamInputSvc", m_eventSource);
@@ -32,23 +32,6 @@ TrigEventSelectorByteStream::TrigEventSelectorByteStream(const std::string& name
 // =============================================================================
 TrigEventSelectorByteStream::~TrigEventSelectorByteStream() {}
 
-// =============================================================================
-// Implementation of IInterface::queryInterface
-// =============================================================================
-StatusCode TrigEventSelectorByteStream::queryInterface(const InterfaceID& riid, void** ppvInterface)
-{
-  ATH_MSG_VERBOSE("start of " << __FUNCTION__);
-
-  if(IEvtSelector::interfaceID().versionMatch(riid))
-    *ppvInterface = static_cast<IEvtSelector*>(this);
-  else
-    return AthService::queryInterface(riid, ppvInterface);
-
-  addRef();
-  ATH_MSG_VERBOSE("end of " << __FUNCTION__);
-  return StatusCode::SUCCESS;
-}
-
 // =============================================================================
 // Implementation of Service::initialize
 // =============================================================================
diff --git a/HLT/Event/TrigByteStreamCnvSvc/src/TrigEventSelectorByteStream.h b/HLT/Event/TrigByteStreamCnvSvc/src/TrigEventSelectorByteStream.h
index 1d4e951254c8d62c152d3942119d5b48c83f47ff..215116729ec3ebce90ac35d6e10318a657a8a765 100644
--- a/HLT/Event/TrigByteStreamCnvSvc/src/TrigEventSelectorByteStream.h
+++ b/HLT/Event/TrigByteStreamCnvSvc/src/TrigEventSelectorByteStream.h
@@ -17,8 +17,7 @@ class StoreGateSvc;
  * @brief  online implementation of IEvtSelector for ByteStream
  */
 
-class TrigEventSelectorByteStream : public AthService,
-                                    virtual public IEvtSelector {
+class TrigEventSelectorByteStream : public extends<AthService, IEvtSelector> {
 public:
   /**
    * @class TrigEventSelectorByteStream::Context
@@ -44,9 +43,6 @@ public:
   /// Standard destructor
   virtual ~TrigEventSelectorByteStream();
 
-  // ------------------------- IInterface methods -----------------------------
-  virtual StatusCode queryInterface(const InterfaceID& riid, void** ppvInterface) override;
-
   // ------------------------- Service methods --------------------------------
   virtual StatusCode initialize() override;
   virtual StatusCode finalize() override;