diff --git a/ChangeLog b/ChangeLog
index b7b4f229fb9a6ce0179714edc51d9651926941e7..27b3230f09190050f0d59d2ae0ccb727fcc19dc5 100755
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,10 +1,12 @@
 2005-11-10  Kevin P. Fleming  <kpfleming@digium.com>
 
+	* app.c (ast_app_parse_options): don't increment 's' until after checking for NULL (related to issue #5630)
+
 	* apps/app_rpt.c: solve a memory leak (config structure was not freed) (issue #5706
 
 2005-11-10  Russell Bryant <russell@digium.com>
 
-	* app.c (ast_app_separate_args): Don't consider the open parenthesis as part of the arguments to an option.
+	* app.c (ast_app_separate_args): Don't consider the open parenthesis as part of the arguments to an option. (issue #5630)
 	* many files: Change all references to ast_separate_app_args to ast_app_separate_args
 	* many files in apps/: Clean up some application descriptions. Make sure all descriptions in changed files are wrapped at 80 characters.
 
diff --git a/app.c b/app.c
index 63beed1e37e24960f893de135b01af811c671b53..bcb5c225983f233dd0a236f9bbc282c584b4728b 100755
--- a/app.c
+++ b/app.c
@@ -1544,7 +1544,7 @@ int ast_app_parse_options(const struct ast_app_option *options, struct ast_flags
 		if (*s == '(') {
 			/* Has argument */
 			arg = ++s;
-			while (*++s && (*s != ')'));
+			while (*s && (*s++ != ')'));
 			if (*s) {
 				if (argloc)
 					args[argloc - 1] = arg;