diff --git a/user_channel/channel_layer.hpp b/user_channel/channel_layer.hpp
index 4308794..6dc9fe2 100644
--- a/user_channel/channel_layer.hpp
+++ b/user_channel/channel_layer.hpp
@@ -16,7 +16,6 @@
 #pragma once
 #include <ipmid/api.h>
 
-#include <ipmid/message.hpp>
 #include <string>
 
 namespace ipmi
@@ -281,17 +280,17 @@
 /** @brief provides function to convert current channel number (0xE)
  *
  *  @param[in] chNum - channel number as requested in commands.
- *  @param[in] ipmi::context - ipmi context ptr, which has more details
+ *  @param[in] devChannel - channel number as provided by device (not 0xE)
  *
  *  @return same channel number or proper channel number for current channel
  * number (0xE).
  */
-inline uint8_t convertCurrentChannelNum(const uint8_t chNum,
-                                        ipmi::Context::ptr ctx)
+static inline uint8_t convertCurrentChannelNum(const uint8_t chNum,
+                                               const uint8_t devChannel)
 {
     if (chNum == currentChNum)
     {
-        return ctx->channel;
+        return devChannel;
     }
     return chNum;
 }
diff --git a/user_channel/usercommands.cpp b/user_channel/usercommands.cpp
index 489eeaf..5bdbbd3 100644
--- a/user_channel/usercommands.cpp
+++ b/user_channel/usercommands.cpp
@@ -130,7 +130,7 @@
 {
     uint8_t sessLimit = sessionLimit.value_or(0);
     uint8_t chNum =
-        convertCurrentChannelNum(static_cast<uint8_t>(channel), ctx);
+        convertCurrentChannelNum(static_cast<uint8_t>(channel), ctx->channel);
     if (reserved1 != 0 || reserved2 != 0 || sessLimit != 0 ||
         (!isValidChannel(chNum)) ||
         (!ipmiUserIsValidPrivilege(static_cast<uint8_t>(privilege))) ||
@@ -199,7 +199,7 @@
                       uint6_t userId, uint2_t reserved2)
 {
     uint8_t chNum =
-        convertCurrentChannelNum(static_cast<uint8_t>(channel), ctx);
+        convertCurrentChannelNum(static_cast<uint8_t>(channel), ctx->channel);
     if (reserved1 != 0 || reserved2 != 0 || (!isValidChannel(chNum)) ||
         (EChannelSessSupported::none == getChannelSessionSupport(chNum)))
     {
@@ -450,7 +450,7 @@
 {
 
     uint8_t channel =
-        convertCurrentChannelNum(static_cast<uint8_t>(chNum), ctx);
+        convertCurrentChannelNum(static_cast<uint8_t>(chNum), ctx->channel);
 
     if (reserved1 || reserved2 || !isValidChannel(channel) ||
         !isValidPrivLimit(static_cast<uint8_t>(privLevel)) ||
