diff --git a/bin/dbus/cx.ring.Ring.ConfigurationManager.xml b/bin/dbus/cx.ring.Ring.ConfigurationManager.xml
index beeab4e5210c705041e55cfa39a99f2654cbbde7..19e2a1e2799edb8e3f94f7301b24dfb283657963 100644
--- a/bin/dbus/cx.ring.Ring.ConfigurationManager.xml
+++ b/bin/dbus/cx.ring.Ring.ConfigurationManager.xml
@@ -1570,18 +1570,6 @@
            </arg>
        </method>
 
-       <method name="getShortcuts" tp:name-for-bindings="getShortcuts">
-                   <annotation name="org.qtproject.QtDBus.QtTypeName.Out0" value="MapStringString"/>
-           <arg type="a{ss}" name="shortcutsMap" direction="out">
-           </arg>
-       </method>
-
-       <method name="setShortcuts" tp:name-for-bindings="setShortcuts">
-                   <annotation name="org.qtproject.QtDBus.QtTypeName.In0" value="MapStringString"/>
-           <arg type="a{ss}" name="shortcutsMap" direction="in">
-           </arg>
-       </method>
-
        <method name="sendFile" tp:name-for-bindings="sendFile">
            <tp:added version="10.0.0"/>
            <arg type="s" name="accountId" direction="in"/>
diff --git a/bin/dbus/dbusconfigurationmanager.cpp b/bin/dbus/dbusconfigurationmanager.cpp
index 7e87ba7b4367d394dc43dfdcc85a72faa30b92d0..b65dd58a361a22c6554ffbdc8cff1b376b2c9acd 100644
--- a/bin/dbus/dbusconfigurationmanager.cpp
+++ b/bin/dbus/dbusconfigurationmanager.cpp
@@ -714,18 +714,6 @@ DBusConfigurationManager::getAllIpInterfaceByName() -> decltype(DRing::getAllIpI
     return DRing::getAllIpInterfaceByName();
 }
 
-auto
-DBusConfigurationManager::getShortcuts() -> decltype(DRing::getShortcuts())
-{
-    return DRing::getShortcuts();
-}
-
-void
-DBusConfigurationManager::setShortcuts(const std::map<std::string, std::string>& shortcutsMap)
-{
-    DRing::setShortcuts(shortcutsMap);
-}
-
 void
 DBusConfigurationManager::setVolume(const std::string& device, const double& value)
 {
diff --git a/bin/dbus/dbusconfigurationmanager.h b/bin/dbus/dbusconfigurationmanager.h
index 4cda8959413645868e4a4c7c51f1b4c222fd721b..9429a89ac770c9ea6788877e969fbde87f775c2c 100644
--- a/bin/dbus/dbusconfigurationmanager.h
+++ b/bin/dbus/dbusconfigurationmanager.h
@@ -176,8 +176,6 @@ public:
     std::string getAddrFromInterfaceName(const std::string& interface);
     std::vector<std::string> getAllIpInterface();
     std::vector<std::string> getAllIpInterfaceByName();
-    std::map<std::string, std::string> getShortcuts();
-    void setShortcuts(const std::map<std::string, std::string>& shortcutsMap);
     void setVolume(const std::string& device, const double& value);
     double getVolume(const std::string& device);
     std::map<std::string, std::string> validateCertificate(const std::string& accountId,
diff --git a/bin/jni/configurationmanager.i b/bin/jni/configurationmanager.i
index ccbb02edc9c71ee98960c8bd5422f4cd83b56a05..73170ba64f219a8dd8fbe9b1f8646725bfced8b1 100644
--- a/bin/jni/configurationmanager.i
+++ b/bin/jni/configurationmanager.i
@@ -176,9 +176,6 @@ std::string getAddrFromInterfaceName(const std::string& interface);
 std::vector<std::string> getAllIpInterface();
 std::vector<std::string> getAllIpInterfaceByName();
 
-std::map<std::string, std::string> getShortcuts();
-void setShortcuts(const std::map<std::string, std::string> &shortcutsMap);
-
 void setVolume(const std::string& device, double value);
 double getVolume(const std::string& device);
 
diff --git a/bin/nodejs/configurationmanager.i b/bin/nodejs/configurationmanager.i
index cb724e4e47e764b42c70f7ed871739a7bf7bca96..8376328dce9c163ac23f634ea9e9468946f313ee 100644
--- a/bin/nodejs/configurationmanager.i
+++ b/bin/nodejs/configurationmanager.i
@@ -166,9 +166,6 @@ std::string getAddrFromInterfaceName(const std::string& interface);
 std::vector<std::string> getAllIpInterface();
 std::vector<std::string> getAllIpInterfaceByName();
 
-std::map<std::string, std::string> getShortcuts();
-void setShortcuts(const std::map<std::string, std::string> &shortcutsMap);
-
 void setVolume(const std::string& device, double value);
 double getVolume(const std::string& device);
 
diff --git a/src/client/configurationmanager.cpp b/src/client/configurationmanager.cpp
index a31eb3af23cafe7c5d8f77005a2259f9fbb0eb2e..9a6ebeddb165c036dad5ec4b78c5d943c37d0b14 100644
--- a/src/client/configurationmanager.cpp
+++ b/src/client/configurationmanager.cpp
@@ -907,19 +907,6 @@ getAllIpInterfaceByName()
     return jami::ip_utils::getAllIpInterfaceByName();
 }
 
-std::map<std::string, std::string>
-getShortcuts()
-{
-    return jami::Manager::instance().shortcutPreferences.getShortcuts();
-}
-
-void
-setShortcuts(const std::map<std::string, std::string>& shortcutsMap)
-{
-    jami::Manager::instance().shortcutPreferences.setShortcuts(shortcutsMap);
-    jami::Manager::instance().saveConfig();
-}
-
 std::vector<std::map<std::string, std::string>>
 getCredentials(const std::string& accountID)
 {
diff --git a/src/jami/configurationmanager_interface.h b/src/jami/configurationmanager_interface.h
index 281d6fd3c737d7a5d965a1ad4c54c3cd4a8726ca..d95d08cef08265ceba977a3f144244772eb39e7b 100644
--- a/src/jami/configurationmanager_interface.h
+++ b/src/jami/configurationmanager_interface.h
@@ -180,9 +180,6 @@ DRING_PUBLIC std::string getAddrFromInterfaceName(const std::string& iface);
 DRING_PUBLIC std::vector<std::string> getAllIpInterface();
 DRING_PUBLIC std::vector<std::string> getAllIpInterfaceByName();
 
-DRING_PUBLIC std::map<std::string, std::string> getShortcuts();
-DRING_PUBLIC void setShortcuts(const std::map<std::string, std::string>& shortcutsMap);
-
 DRING_PUBLIC void setVolume(const std::string& device, double value);
 DRING_PUBLIC double getVolume(const std::string& device);
 
diff --git a/src/manager.cpp b/src/manager.cpp
index 37cd51399c29fcc5b97258ef4659ff7a7bbc54a4..c410ce2a41ac54f809b2680fd6b6e1c513b95af9 100644
--- a/src/manager.cpp
+++ b/src/manager.cpp
@@ -720,7 +720,6 @@ Manager::Manager()
     , preferences()
     , voipPreferences()
     , audioPreference()
-    , shortcutPreferences()
 #ifdef ENABLE_PLUGIN
     , pluginPreferences()
 #endif
@@ -1727,7 +1726,6 @@ Manager::saveConfig()
 #ifdef ENABLE_PLUGIN
         pluginPreferences.serialize(out);
 #endif
-        shortcutPreferences.serialize(out);
 
         std::lock_guard<std::mutex> lock(fileutils::getFileLock(pimpl_->path_));
         std::ofstream fout = fileutils::ofstream(pimpl_->path_);
@@ -2781,7 +2779,6 @@ Manager::loadAccountMap(const YAML::Node& node)
         preferences.unserialize(node);
         voipPreferences.unserialize(node);
         audioPreference.unserialize(node);
-        shortcutPreferences.unserialize(node);
 #ifdef ENABLE_VIDEO
         videoPreferences.unserialize(node);
 #endif
diff --git a/src/manager.h b/src/manager.h
index c70cd04cd7571bc55f285f32d870c2e280c1341e..5956feb7c5c22ce19f82c491cbcda54d4419b204 100644
--- a/src/manager.h
+++ b/src/manager.h
@@ -94,11 +94,6 @@ public:
      */
     AudioPreference audioPreference;
 
-    /**
-     * Shortcut preferences
-     */
-    ShortcutPreferences shortcutPreferences;
-
 #ifdef ENABLE_PLUGIN
     /**
      * Plugin preferences
diff --git a/src/preferences.cpp b/src/preferences.cpp
index 02edcf4b7e2fd3f93ef290b75ae791ab6228977f..3a7eb5cd0af04a4434086580574b0aa276ad8980 100644
--- a/src/preferences.cpp
+++ b/src/preferences.cpp
@@ -123,14 +123,6 @@ static constexpr const char* AGC_KEY {"automaticGainControl"};
 static constexpr const char* CAPTURE_MUTED_KEY {"captureMuted"};
 static constexpr const char* PLAYBACK_MUTED_KEY {"playbackMuted"};
 
-// shortcut preferences
-constexpr const char* const ShortcutPreferences::CONFIG_LABEL;
-static constexpr const char* HANGUP_SHORT_KEY {"hangUp"};
-static constexpr const char* PICKUP_SHORT_KEY {"pickUp"};
-static constexpr const char* POPUP_SHORT_KEY {"popupWindow"};
-static constexpr const char* TOGGLE_HOLD_SHORT_KEY {"toggleHold"};
-static constexpr const char* TOGGLE_PICKUP_HANGUP_SHORT_KEY {"togglePickupHangup"};
-
 #ifdef ENABLE_VIDEO
 // video preferences
 constexpr const char* const VideoPreferences::CONFIG_LABEL;
@@ -513,62 +505,6 @@ AudioPreference::unserialize(const YAML::Node& in)
     parseValue(node, ECHO_CANCELLER, echoCanceller_);
 }
 
-ShortcutPreferences::ShortcutPreferences()
-    : hangup_()
-    , pickup_()
-    , popup_()
-    , toggleHold_()
-    , togglePickupHangup_()
-{}
-
-std::map<std::string, std::string>
-ShortcutPreferences::getShortcuts() const
-{
-    std::map<std::string, std::string> shortcutsMap;
-
-    shortcutsMap[HANGUP_SHORT_KEY] = hangup_;
-    shortcutsMap[PICKUP_SHORT_KEY] = pickup_;
-    shortcutsMap[POPUP_SHORT_KEY] = popup_;
-    shortcutsMap[TOGGLE_HOLD_SHORT_KEY] = toggleHold_;
-    shortcutsMap[TOGGLE_PICKUP_HANGUP_SHORT_KEY] = togglePickupHangup_;
-
-    return shortcutsMap;
-}
-
-void
-ShortcutPreferences::setShortcuts(std::map<std::string, std::string> map)
-{
-    hangup_ = map[HANGUP_SHORT_KEY];
-    pickup_ = map[PICKUP_SHORT_KEY];
-    popup_ = map[POPUP_SHORT_KEY];
-    toggleHold_ = map[TOGGLE_HOLD_SHORT_KEY];
-    togglePickupHangup_ = map[TOGGLE_PICKUP_HANGUP_SHORT_KEY];
-}
-
-void
-ShortcutPreferences::serialize(YAML::Emitter& out) const
-{
-    out << YAML::Key << CONFIG_LABEL << YAML::Value << YAML::BeginMap;
-    out << YAML::Key << HANGUP_SHORT_KEY << YAML::Value << hangup_;
-    out << YAML::Key << PICKUP_SHORT_KEY << YAML::Value << pickup_;
-    out << YAML::Key << POPUP_SHORT_KEY << YAML::Value << popup_;
-    out << YAML::Key << TOGGLE_HOLD_SHORT_KEY << YAML::Value << toggleHold_;
-    out << YAML::Key << TOGGLE_PICKUP_HANGUP_SHORT_KEY << YAML::Value << togglePickupHangup_;
-    out << YAML::EndMap;
-}
-
-void
-ShortcutPreferences::unserialize(const YAML::Node& in)
-{
-    const auto& node = in[CONFIG_LABEL];
-
-    parseValue(node, HANGUP_SHORT_KEY, hangup_);
-    parseValue(node, PICKUP_SHORT_KEY, pickup_);
-    parseValue(node, POPUP_SHORT_KEY, popup_);
-    parseValue(node, TOGGLE_HOLD_SHORT_KEY, toggleHold_);
-    parseValue(node, TOGGLE_PICKUP_HANGUP_SHORT_KEY, togglePickupHangup_);
-}
-
 #ifdef ENABLE_VIDEO
 VideoPreferences::VideoPreferences()
     : decodingAccelerated_(true)
diff --git a/src/preferences.h b/src/preferences.h
index 0d4614f772243f44aa968610b6c14733e9d31cdc..6ff9765c8da5e3323911ffe2a9cbc6a952046dad 100644
--- a/src/preferences.h
+++ b/src/preferences.h
@@ -274,45 +274,6 @@ private:
     constexpr static const char* const CONFIG_LABEL = "audio";
 };
 
-class ShortcutPreferences : public Serializable
-{
-public:
-    ShortcutPreferences();
-    void serialize(YAML::Emitter& out) const override;
-    void unserialize(const YAML::Node& in) override;
-
-    void setShortcuts(std::map<std::string, std::string> shortcuts);
-    std::map<std::string, std::string> getShortcuts() const;
-
-    std::string getHangup() const { return hangup_; }
-
-    void setHangup(const std::string& hangup) { hangup_ = hangup; }
-
-    std::string getPickup() const { return pickup_; }
-
-    void setPickup(const std::string& pickup) { pickup_ = pickup; }
-
-    std::string getPopup() const { return popup_; }
-
-    void setPopup(const std::string& popup) { popup_ = popup; }
-
-    std::string getToggleHold() const { return toggleHold_; }
-
-    void setToggleHold(const std::string& hold) { toggleHold_ = hold; }
-
-    std::string getTogglePickupHangup() const { return togglePickupHangup_; }
-
-    void setTogglePickupHangup(const std::string& toggle) { togglePickupHangup_ = toggle; }
-
-private:
-    std::string hangup_;
-    std::string pickup_;
-    std::string popup_;
-    std::string toggleHold_;
-    std::string togglePickupHangup_;
-    constexpr static const char* const CONFIG_LABEL = "shortcuts";
-};
-
 #ifdef ENABLE_VIDEO
 class VideoPreferences : public Serializable
 {