diff --git a/src/amf/amfnd/di.cc b/src/amf/amfnd/di.cc
index 1e0d682..fe27427 100644
--- a/src/amf/amfnd/di.cc
+++ b/src/amf/amfnd/di.cc
@@ -998,6 +998,11 @@ uint32_t avnd_di_object_upd_send(AVND_CB *cb, AVSV_PARAM_INFO *param) {
   uint32_t rc = NCSCC_RC_SUCCESS;
   TRACE_ENTER2("Comp '%s'", osaf_extended_name_borrow(&param->name));
 
+  if (cb->is_avd_down == true) {
+    TRACE_LEAVE2("AVD is down. %u", rc);
+    return rc;
+  }
+
   /* populate the msg */
   memset(&msg, 0, sizeof(AVND_MSG));
   msg.info.avd = static_cast<AVSV_DND_MSG *>(calloc(1, sizeof(AVSV_DND_MSG)));
@@ -1006,7 +1011,7 @@ uint32_t avnd_di_object_upd_send(AVND_CB *cb, AVSV_PARAM_INFO *param) {
   msg.info.avd->msg_info.n2d_data_req.node_id = cb->node_info.nodeId;
   msg.info.avd->msg_info.n2d_data_req.param_info = *param;
 
-  if ((cb->is_avd_down == true) || (cb->amfd_sync_required == true)) {
+  if ((cb->is_avd_down == false) && (cb->amfd_sync_required == true)) {
     msg.info.avd->msg_info.n2d_data_req.msg_id = 0;
     if (avnd_diq_rec_add(cb, &msg) == nullptr) {
       rc = NCSCC_RC_FAILURE;
