diff --git a/apps/app_exec.c b/apps/app_exec.c
index 83755a8f9597bd719dbdee0a3606f58952c47145..441e814586bf9852798e47cdb791908cec282efc 100644
--- a/apps/app_exec.c
+++ b/apps/app_exec.c
@@ -77,9 +77,9 @@ static char *tryexec_descrip =
 static char *app_execif = "ExecIf";
 static char *execif_synopsis = "Executes dialplan application, conditionally";
 static char *execif_descrip = 
-"  ExecIF (<expr>?<app>(<data>):<app2>(<data2>))\n"
-"If <expr> is true, execute and return the result of <app>(<data>).\n"
-"If <expr> is true, but <app> is not found, then the application\n"
+"  ExecIF (<expr>?<appiftrue>(<args>)[:<appiffalse>(<args>)])\n"
+"If <expr> is true, execute and return the result of <appiftrue>(<args>).\n"
+"If <expr> is true, but <appiftrue> is not found, then the application\n"
 "will return a non-zero value.\n";
 
 static int exec_exec(struct ast_channel *chan, void *data)
@@ -162,7 +162,7 @@ static int execif_exec(struct ast_channel *chan, void *data)
 
 	AST_NONSTANDARD_APP_ARGS(expr, parse, '?');
 	if (ast_strlen_zero(expr.remainder)) {
-		ast_log(LOG_ERROR, "Usage: ExecIf(<cond>?<appiftrue>(<args>):<appiffalse>(<args))\n");
+		ast_log(LOG_ERROR, "Usage: ExecIf(<expr>?<appiftrue>(<args>)[:<appiffalse>(<args)])\n");
 		return -1;
 	}
 
@@ -187,8 +187,8 @@ static int execif_exec(struct ast_channel *chan, void *data)
 			ast_log(LOG_WARNING, "Could not find application! (%s)\n", apps.t);
 			res = -1;
 		}
-	} else {
-		if (!ast_strlen_zero(apps.f) && (app = pbx_findapp(apps.f))) {
+	} else if (!ast_strlen_zero(apps.f)) {
+		if ((app = pbx_findapp(apps.f))) {
 			res = pbx_exec(chan, app, S_OR(falsedata, ""));
 		} else {
 			ast_log(LOG_WARNING, "Could not find application! (%s)\n", apps.f);