diff --git a/ccsrc/Protocols/IP/ip_offline_layer.cc b/ccsrc/Protocols/IP/ip_offline_layer.cc
index 2a66d0fee582a29326bd7f74f3e8509c37c9b305..826ae74c0711d868f7d444f23cdad2f80ff42855 100644
--- a/ccsrc/Protocols/IP/ip_offline_layer.cc
+++ b/ccsrc/Protocols/IP/ip_offline_layer.cc
@@ -47,7 +47,7 @@ void ip_offline_layer::receive_data(OCTETSTRING& p_data, params& p_params) {
 
   // Version
   uint8_t v = static_cast<const uint8_t>(*p_data);
-  OCTETSTRING version = int2oct(1, v >> 4);
+  OCTETSTRING version = int2oct((v >> 4) & 0x0f, 1);
   loggers::get_instance().log_msg("ip_offline_layer::receive_data: verion: ", version);
   // Length in bytes
   uint8_t length = (v & 0x0f) * 4;