diff --git a/include/aidge/operator/BitShift.hpp b/include/aidge/operator/BitShift.hpp
index ad96f6f55596daea14ef83c616dad6557d485b33..bd14bea76937fbfc42cbafa9636df9b55832fa9d 100644
--- a/include/aidge/operator/BitShift.hpp
+++ b/include/aidge/operator/BitShift.hpp
@@ -31,7 +31,7 @@ namespace Aidge {
  * @brief Tensor BitShift Operator
  */
 class BitShift_Op : public OperatorTensor,
-    public Registrable<BitShift_Op, std::string, std::shared_ptr<OperatorImpl>(const BitShift_Op&)> {
+    public Registrable<BitShift_Op, std::string, std::function<std::shared_ptr<OperatorImpl>(const BitShift_Op&)>> {
 public:
     enum BitShiftDirection {left,right};
     static const std::string Type;
@@ -79,6 +79,7 @@ public:
      * @return Boolean
      */
     void setBackend(const std::string& name, DeviceIdx_t device = 0) override;
+    std::set<std::string> getAvailableBackends() const override;
     
     /**
      * @brief Getter to retrieve Attributes of the bitshift class
diff --git a/src/operator/BitShift.cpp b/src/operator/BitShift.cpp
index b21722a6e55ec6370ba8d30ab2a781466a1a38be..7595590f7811f08eb2b790a259cff6a8ee72ffbf 100644
--- a/src/operator/BitShift.cpp
+++ b/src/operator/BitShift.cpp
@@ -58,3 +58,7 @@ void Aidge::BitShift_Op::setBackend(const std::string &name, Aidge::DeviceIdx_t
     SET_IMPL_MACRO(BitShift_Op, *this, name);
     mOutputs[0]->setBackend(name, device);
 }
+
+std::set<std::string> Aidge::BitShift_Op::getAvailableBackends() const {
+    return Registrar<BitShift_Op>::getKeys();
+}