diff --git a/src/messages_client.h b/src/messages_client.h
index be49ef1..466ad93 100644
--- a/src/messages_client.h
+++ b/src/messages_client.h
@@ -157,7 +157,7 @@
     struct lyd_node *data;  /**< libyang RPC reply data tree (output of an RPC),
                                  \<get\> and \<get-config\> replies are special,
                                  in those cases there is the configuration itself
-                                 and it should be validated as such (using #LYD_OPT_GET or #LYD_OPT_GETCONFIG. */
+                                 and it should be validated as such (using \b LYD_OPT_GET or \b LYD_OPT_GETCONFIG). */
 };
 
 /**
diff --git a/src/session_client.h b/src/session_client.h
index 7330393..3e4e127 100644
--- a/src/session_client.h
+++ b/src/session_client.h
@@ -372,8 +372,8 @@
  * Be careful, normally there is a whole RPC reply (output) of an RPC in the \p reply.
  * However, if a reply to \<get\> or \<get-config\> RPC is received, the \p reply is
  * actually the configuration (with either state data or not). This means, for example,
- * that the reply data in these cases should not be validated with #LYD_OPT_RPCREPLY,
- * but #LYD_OPT_GET and #LYD_OPT_GETCONFIG, respectively.
+ * that the reply data in these cases should not be validated with \b LYD_OPT_RPCREPLY,
+ * but \b LYD_OPT_GET and \b LYD_OPT_GETCONFIG, respectively.
  *
  * @param[in] session NETCONF session from which the function gets data. It must be the
  *            client side session object.
@@ -382,7 +382,7 @@
  * @param[in] timeout Timeout for reading in milliseconds. Use negative value for infinite
  *            waiting and 0 for immediate return if data are not available on the wire.
  * @param[in] parseroptions libyang parseroptions flags, do not set the data type, it is set
- *            internally. LYD_OPT_DESTRUCT and LYD_OPT_NOSIBLINGS is ignored.
+ *            internally. \b LYD_OPT_DESTRUCT and \b LYD_OPT_NOSIBLINGS is ignored.
  * @param[out] reply Resulting object of NETCONF RPC reply.
  * @return #NC_MSG_REPLY for success,
  *         #NC_MSG_WOULDBLOCK if \p timeout has elapsed,
diff --git a/src/session_server.h b/src/session_server.h
index ebaf5a0..8bace91 100644
--- a/src/session_server.h
+++ b/src/session_server.h
@@ -116,7 +116,7 @@
  * messages. Note, that libnetconf only checks that the provided value is non-empty
  * string.
  *
- * @param[in] value Capability string to be advertised in server\s \<hello\> messages.
+ * @param[in] value Capability string to be advertised in server's \<hello\> messages.
  */
 int nc_server_set_capability(const char *value);
 
diff --git a/src/session_server_ch.h b/src/session_server_ch.h
index d20d1a3..2bb369c 100644
--- a/src/session_server_ch.h
+++ b/src/session_server_ch.h
@@ -152,7 +152,7 @@
  * @brief Set Call Home client overall max attempts.
  *
  * @param[in] client_name Existing Call Home client name.
- * @param[in] conn_type Call Home overall max reconnect attempts.
+ * @param[in] max_attempts Call Home overall max reconnect attempts.
  * @return 0 on success, -1 on error.
  */
 int nc_server_ch_client_set_max_attempts(const char *client_name, uint8_t max_attempts);
@@ -196,7 +196,7 @@
 /**
  * @brief Move Call Home SSH host key.
  *
- * @param[in] endpt_name Exisitng Call Home client name.
+ * @param[in] client_name Exisitng Call Home client name.
  * @param[in] key_mov Name of the host key that will be moved.
  * @param[in] key_after Name of the key that will preceed \p key_mov. NULL if \p key_mov is to be moved at the beginning.
  * @return 0 in success, -1 on error.
@@ -322,7 +322,7 @@
  * It is possible to add an entry step-by-step, specifying first only \p ip and in later calls
  * \p fingerprint, \p map_type, and optionally \p name spearately.
  *
- * @param[in] endpt_name Existing endpoint name.
+ * @param[in] client_name Existing Call Home client name.
  * @param[in] id Priority of the entry. It must be unique. If already exists, the entry with this id
  *               is modified.
  * @param[in] fingerprint Matching certificate fingerprint. If NULL, kept temporarily unset.
