diff --git a/nimble/host/mesh/src/access.c b/nimble/host/mesh/src/access.c index 40ac67bf8..a6a12316b 100644 --- a/nimble/host/mesh/src/access.c +++ b/nimble/host/mesh/src/access.c @@ -721,7 +721,10 @@ int bt_mesh_model_publish(struct bt_mesh_model *model) err = model_send(model, &tx, true, sdu, &pub_sent_cb, model); if (err) { + /* Don't try retransmissions for this publish attempt */ pub->count = 0; + /* Make sure the publish timer gets reset */ + publish_sent(err, model); } done: