diff --git a/subsys/net/lib/coap/coap_server.c b/subsys/net/lib/coap/coap_server.c index 8b7fc0168c3..cd76363d1ea 100644 --- a/subsys/net/lib/coap/coap_server.c +++ b/subsys/net/lib/coap/coap_server.c @@ -658,6 +658,12 @@ int coap_resource_parse_observe(struct coap_resource *resource, const struct coa ret = coap_service_remove_observer(service, resource, addr, token, tkl); if (ret < 0) { LOG_WRN("Failed to remove observer (%d)", ret); + goto unlock; + } + + if (ret == 0) { + /* Observer not found */ + ret = -ENOENT; } }