diff --git a/src/openvpn/ssl.c b/src/openvpn/ssl.c
index 044e852..b95a84f 100644
--- a/src/openvpn/ssl.c
+++ b/src/openvpn/ssl.c
@@ -1961,21 +1961,21 @@
         /* support for P_DATA_V2 */
         int iv_proto = IV_PROTO_DATA_V2;
 
-        /* support for the latest --dns option */
-        iv_proto |= IV_PROTO_DNS_OPTION_V2;
-
         /* support for exit notify via control channel */
         iv_proto |= IV_PROTO_CC_EXIT_NOTIFY;
 
-        /* currently push-update is not supported when DCO is enabled */
-        if (!session->opt->dco_enabled)
-        {
-            /* support push-updates */
-            iv_proto |= IV_PROTO_PUSH_UPDATE;
-        }
-
         if (session->opt->pull)
         {
+            /* support for the latest --dns option */
+            iv_proto |= IV_PROTO_DNS_OPTION_V2;
+
+            /* currently push-update is not supported when DCO is enabled */
+            if (!session->opt->dco_enabled)
+            {
+                /* support push-updates */
+                iv_proto |= IV_PROTO_PUSH_UPDATE;
+            }
+
             /* support for receiving push_reply before sending
              * push request, also signal that the client wants
              * to get push-reply messages without requiring a round
@@ -1990,11 +1990,9 @@
 
             /* support for tun-mtu as part of the push message */
             buf_printf(&out, "IV_MTU=%d\n", session->opt->frame.tun_max_mtu);
-        }
 
-        /* support for Negotiable Crypto Parameters */
-        if (session->opt->mode == MODE_SERVER || session->opt->pull)
-        {
+            /* legacy support for Negotiable Crypto Parameters (deprecated in
+             * favour of IV_CIPHERS) */
             if (tls_item_in_cipher_list("AES-128-GCM", session->opt->config_ncp_ciphers)
                 && tls_item_in_cipher_list("AES-256-GCM", session->opt->config_ncp_ciphers))
             {
@@ -2003,7 +2001,7 @@
         }
         else
         {
-            /* We are not using pull or p2mp server, instead do P2P NCP */
+            /* If we are not using pull we announce P2P NCP support */
             iv_proto |= IV_PROTO_NCP_P2P;
         }
 
