diff --git a/include/asterisk/logger.h b/include/asterisk/logger.h
index 170fb68fd7dfdf83a02b621037b73a199e0b4cb2..76d63671bea7db43e31d0a52227050182ba5f22e 100644
--- a/include/asterisk/logger.h
+++ b/include/asterisk/logger.h
@@ -821,7 +821,7 @@ unsigned long _ast_trace_dec_indent(void);
  * \details
  * Handy for getting out of or continuing loops.
  *
- * \example
+ * \code
  * while(something) {
  *     SCOPE_ENTER(2, "In a while\n");
  *     if (something) {
@@ -830,6 +830,7 @@ unsigned long _ast_trace_dec_indent(void);
  *         SCOPE_EXIT_EXPR(continue, "Somethiung continued me\n");
  *     }
  * }
+ * \endcode
  */
 #define SCOPE_EXIT_EXPR(__expr, ...) \
 	ast_debug(__scope_level, " " __VA_ARGS__); \
diff --git a/include/asterisk/strings.h b/include/asterisk/strings.h
index 9ca3234d10495e0fdb99e50b2b64ab7d86548286..59dece88b22e1b50415c44ae09f011352ef06e06 100644
--- a/include/asterisk/strings.h
+++ b/include/asterisk/strings.h
@@ -1117,30 +1117,35 @@ int __attribute__((format(printf, 3, 4))) ast_str_append(
  * \details
  * There are a few query functions scattered around that need an ast_str in which
  * to assemble the results but it's not always convenient to create an ast_str
- * and ensure it's freed just to print a log message.  For example...
+ * and ensure it's freed just to print a log message.  For example:
  *
+ * \code
  * struct ast_str *temp = ast_str_create(128);
  * ast_log(LOG_INFO, "Format caps: %s\n", ast_format_cap_get_names(caps, &temp));
  * ast_free(temp);
+ * \endcode
  *
  * That's not bad if you only have to do it once but some of our code that deals
  * with streams and codecs is pretty complex and good instrumentation is essential.
  * The aim of this function is to make that easier.
  *
- * With this macro, the above code can be simplified as follows...
- * \example
+ * With this macro, the above code can be simplified:
+ *
+ * \code
  * ast_log(LOG_INFO, "Format caps: %s\n",
  *     ast_str_tmp(128, ast_format_cap_get_names(caps, &STR_TMP));
+ * \endcode
  *
  * STR_TMP will always be a reference to the temporary ast_str created
  * by the macro.  Its scope is limited by the macro so you can use it multiple
- * times without conflict.
+ * times without conflict:
  *
- * \example
+ * \code
  * ast_log(LOG_INFO, "Format caps in: %s  Format caps out: %s\n",
  *     ast_str_tmp(128, ast_format_cap_get_names(caps_in, &STR_TMP),
  *     ast_str_tmp(128, ast_format_cap_get_names(caps_out, &STR_TMP)
  *     );
+ * \endcode
  *
  * \warning
  * The returned string is stack allocated so don't go overboard.
diff --git a/main/app.c b/main/app.c
index 411d5077b05f202b7f74e9d2f0ef39c81897fc11..68a51dc2f1b81b4e934949ad6715f5aad6ac16e1 100644
--- a/main/app.c
+++ b/main/app.c
@@ -23,10 +23,9 @@
  * \author Mark Spencer <markster@digium.com>
  */
 
-/** \example
- * \par This is an example of how to develop an app.
+/*!
  * Application Skeleton is an example of creating an application for Asterisk.
- * \verbinclude app_skel.c
+ * \example app_skel.c
  */
 
 /*** MODULEINFO