diff --git a/user_channel/channel_layer.cpp b/user_channel/channel_layer.cpp
index 0bd7ffe..34a596d 100644
--- a/user_channel/channel_layer.cpp
+++ b/user_channel/channel_layer.cpp
@@ -137,7 +137,7 @@
                                                               authType);
 }
 
-std::string getChannelName(const int chNum)
+std::string getChannelName(const uint8_t chNum)
 {
     return getChannelConfigObject().getChannelName(chNum);
 }
diff --git a/user_channel/channel_layer.hpp b/user_channel/channel_layer.hpp
index 3a172bc..5c82fba 100644
--- a/user_channel/channel_layer.hpp
+++ b/user_channel/channel_layer.hpp
@@ -328,6 +328,6 @@
  *
  *  @return the LAN channel name (i.e. eth0)
  */
-std::string getChannelName(const int chNum);
+std::string getChannelName(const uint8_t chNum);
 
 } // namespace ipmi
diff --git a/user_channel/channel_mgmt.cpp b/user_channel/channel_mgmt.cpp
index 9374931..3fb19b2 100644
--- a/user_channel/channel_mgmt.cpp
+++ b/user_channel/channel_mgmt.cpp
@@ -138,7 +138,7 @@
     "priv-reserved", "priv-callback", "priv-user",
     "priv-operator", "priv-admin",    "priv-oem"};
 
-std::string ChannelConfig::getChannelName(const int chNum)
+std::string ChannelConfig::getChannelName(const uint8_t chNum)
 {
     if (!isValidChannel(chNum))
     {
@@ -390,11 +390,6 @@
     return true;
 }
 
-std::string ChannelConfig::getChannelName(const uint8_t chNum)
-{
-    return channelData[chNum].chName;
-}
-
 int ChannelConfig::getChannelActiveSessions(const uint8_t chNum)
 {
     // TODO: TEMPORARY FIX
diff --git a/user_channel/channel_mgmt.hpp b/user_channel/channel_mgmt.hpp
index cb0ea33..35bb494 100644
--- a/user_channel/channel_mgmt.hpp
+++ b/user_channel/channel_mgmt.hpp
@@ -232,14 +232,6 @@
      */
     int writeChannelVolatileData();
 
-    /** @brief function to get channel name from channel number
-     *
-     *  @param[in] chNum - channel number index
-     *
-     *  @return network channel interface name
-     */
-    std::string getChannelName(const int chNum);
-
   private:
     uint32_t signalFlag = 0;
     std::unique_ptr<boost::interprocess::named_recursive_mutex> channelMutex{
