diff --git a/features/cellular/framework/AT/AT_CellularContext.cpp b/features/cellular/framework/AT/AT_CellularContext.cpp index 94dd2382c82..d9207d41d66 100644 --- a/features/cellular/framework/AT/AT_CellularContext.cpp +++ b/features/cellular/framework/AT/AT_CellularContext.cpp @@ -385,9 +385,8 @@ bool AT_CellularContext::get_context() // APN matched -> Check PDP type pdp_type_t pdp_type = string_to_pdp_type(pdp_type_from_context); - // Accept exact matching PDP context type or dual PDP context for IPv4/IPv6 only modems - if (get_property(pdp_type_t_to_cellular_property(pdp_type)) || - ((pdp_type == IPV4V6_PDP_TYPE && (modem_supports_ipv4 || modem_supports_ipv6)) && !_nonip_req)) { + // Accept exact matching PDP context type + if (get_property(pdp_type_t_to_cellular_property(pdp_type))) { _pdp_type = pdp_type; _cid = cid; } diff --git a/features/cellular/framework/targets/GEMALTO/CINTERION/GEMALTO_CINTERION_CellularStack.cpp b/features/cellular/framework/targets/GEMALTO/CINTERION/GEMALTO_CINTERION_CellularStack.cpp index ec0470b04eb..cf5550be8d6 100644 --- a/features/cellular/framework/targets/GEMALTO/CINTERION/GEMALTO_CINTERION_CellularStack.cpp +++ b/features/cellular/framework/targets/GEMALTO/CINTERION/GEMALTO_CINTERION_CellularStack.cpp @@ -290,8 +290,9 @@ nsapi_size_or_error_t GEMALTO_CINTERION_CellularStack::socket_sendto_impl(Cellul { if (socket->proto == NSAPI_UDP) { const int ip_version = address.get_ip_version(); - if ((ip_version == NSAPI_IPv4 && _stack_type != IPV4_STACK) || - (ip_version == NSAPI_IPv6 && _stack_type != IPV6_STACK)) { + if (_stack_type != IPV4V6_STACK && + ((ip_version == NSAPI_IPv4 && _stack_type != IPV4_STACK) || + (ip_version == NSAPI_IPv6 && _stack_type != IPV6_STACK))) { tr_warn("No IP route for %s", address.get_ip_address()); return NSAPI_ERROR_NO_SOCKET; }