summaryrefslogtreecommitdiff
path: root/services/mesh.c
diff options
context:
space:
mode:
Diffstat (limited to 'services/mesh.c')
-rw-r--r--services/mesh.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/services/mesh.c b/services/mesh.c
index 3027cef009008..41aba74ab2607 100644
--- a/services/mesh.c
+++ b/services/mesh.c
@@ -1173,6 +1173,10 @@ void mesh_query_done(struct mesh_state* mstate)
while((c = mstate->cb_list) != NULL) {
/* take this cb off the list; so that the list can be
* changed, eg. by adds from the callback routine */
+ if(!mstate->reply_list && mstate->cb_list && !c->next) {
+ /* was a reply state, not anymore */
+ mstate->s.env->mesh->num_reply_states--;
+ }
mstate->cb_list = c->next;
if(!mstate->reply_list && !mstate->cb_list &&
mstate->super_set.count == 0)