diff --git a/include/asterisk/app.h b/include/asterisk/app.h
index 5f79b35707..a9b0d3441a 100644
--- a/include/asterisk/app.h
+++ b/include/asterisk/app.h
@@ -131,8 +131,8 @@ int ast_app_getdata_full(struct ast_channel *c, const char *prompt, char *s, int
  * \retval 0 success
  * \retval -1 failure
  */
-int ast_app_run_macro(struct ast_channel *autoservice_chan, struct ast_channel
-		*macro_chan, const char * const macro_name, const char * const macro_args);
+int ast_app_run_macro(struct ast_channel *autoservice_chan,
+	struct ast_channel *macro_chan, const char *macro_name, const char *macro_args);
 
 /*!
  * \since 11
@@ -151,8 +151,8 @@ int ast_app_run_macro(struct ast_channel *autoservice_chan, struct ast_channel
  * \retval 0 success
  * \retval -1 failure
  */
-int ast_app_run_sub(struct ast_channel *autoservice_chan, struct ast_channel
-		*sub_chan, const char * const name, const char * const args);
+int ast_app_run_sub(struct ast_channel *autoservice_chan,
+	struct ast_channel *sub_chan, const char *name, const char *args);
 
 /*!
  * \brief Set voicemail function callbacks
diff --git a/main/app.c b/main/app.c
index 3cdb184325..1354d44e01 100644
--- a/main/app.c
+++ b/main/app.c
@@ -281,22 +281,24 @@ static int app_exec_dialplan(struct ast_channel *autoservice_chan, struct ast_ch
 	return res;
 }
 
-int ast_app_run_macro(struct ast_channel *autoservice_chan, struct ast_channel *macro_chan, const char * const name, const char * const args)
+int ast_app_run_macro(struct ast_channel *autoservice_chan, struct ast_channel *macro_chan, const char *name, const char *args)
 {
 	char buf[1024];
 	snprintf(buf, sizeof(buf), "%s%s%s", name, ast_strlen_zero(args) ? "" : ",", S_OR(args, ""));
 	return app_exec_dialplan(autoservice_chan, macro_chan, buf, 0);
 }
 
-int ast_app_run_sub(struct ast_channel *autoservice_chan, struct ast_channel *sub_chan, const char * const location, const char * const args)
+int ast_app_run_sub(struct ast_channel *autoservice_chan, struct ast_channel *sub_chan, const char *location, const char *args)
 {
 	char buf[1024];
 	size_t offset = snprintf(buf, sizeof(buf), "%s", location);
+
 	/* need to bump the priority by one if we already have a pbx */
 	if (ast_channel_pbx(sub_chan)) {
 		int iprio;
-		const char * priority = location;
-		const char * next = strchr(priority,',');
+		const char *priority = location;
+		const char *next = strchr(priority,',');
+
 		/* jump to the priority portion of the location */
 		if (next) {
 			priority = next + 1;
@@ -314,8 +316,8 @@ int ast_app_run_sub(struct ast_channel *autoservice_chan, struct ast_channel *su
 			}
 		}
 	}
-	if (offset < sizeof(buf)) {
-		snprintf(buf + offset, sizeof(buf) - offset, "%s%s%s", ast_strlen_zero(args) ? "" : "(", S_OR(args, ""), ast_strlen_zero(args) ? "" : ")");
+	if (!ast_strlen_zero(args) && offset < sizeof(buf)) {
+		snprintf(buf + offset, sizeof(buf) - offset, "(%s)", args);
 	}
 	return app_exec_dialplan(autoservice_chan, sub_chan, buf, 1);
 }