diff --git a/res/res_pjsip_pubsub.c b/res/res_pjsip_pubsub.c
index a0fe2736be515f683944f309139c01444d18ce13..d0f3717dbded9c60cfb1bc9d3a60a75ed4c0b32b 100644
--- a/res/res_pjsip_pubsub.c
+++ b/res/res_pjsip_pubsub.c
@@ -4061,6 +4061,12 @@ static void pubsub_on_rx_refresh(pjsip_evsub *evsub, pjsip_rx_data *rdata,
 						new_root->version = old_root->version;
 						sub_tree->root = new_root;
 						sub_tree->generate_initial_notify = 1;
+
+						/* If there is scheduled notification need to delete it to avoid use old subscriptions */
+						if (sub_tree->notify_sched_id > -1) {
+							AST_SCHED_DEL_UNREF(sched, sub_tree->notify_sched_id, ao2_ref(sub_tree, -1));
+							sub_tree->send_scheduled_notify = 0;
+						}
 						shutdown_subscriptions(old_root);
 						destroy_subscriptions(old_root);
 					} else {