diff --git a/apps/app_adsiprog.c b/apps/app_adsiprog.c
index 7b6e06d50a2c4cfe151a19a7dd8c6d051d7e0c55..12742609d05af7a52466f17f595d368a8fbd185a 100755
--- a/apps/app_adsiprog.c
+++ b/apps/app_adsiprog.c
@@ -695,6 +695,18 @@ static int digitdirect(char *buf, char *name, int id, char *args, struct adsi_sc
 	return 2;
 }
 
+static int clearcbone(char *buf, char *name, int id, char *args, struct adsi_script *istate, char *script, int lineno)
+{
+	char *tok;
+	tok = get_token(&args, script, lineno);
+	if (tok)
+		ast_log(LOG_WARNING, "CLEARCB1 requires no arguments ('%s') at line %d of %s\n", tok, lineno, script);
+
+	buf[0] = id;
+	buf[1] = 0;
+	return 2;
+}
+
 static int digitcollect(char *buf, char *name, int id, char *args, struct adsi_script *istate, char *script, int lineno)
 {
 	char *tok;
@@ -831,6 +843,7 @@ static struct adsi_key_cmd kcmds[] = {
 	{ "VOICEMODE", 0x93 },
 	/* Display call buffer 'n' */
 	/* Clear call buffer 'n' */
+	{ "CLEARCB1", 0x95, clearcbone },
 	{ "DIGITCOLLECT", 0x96, digitcollect },
 	{ "DIGITDIRECT", 0x96, digitdirect },
 	{ "CLEAR", 0x97 },
diff --git a/include/asterisk/adsi.h b/include/asterisk/adsi.h
index 87b18c31faede51aef411501f8886173478fa55a..33d5a1ae95e40392c8ea6b9fd0f38484a117246d 100755
--- a/include/asterisk/adsi.h
+++ b/include/asterisk/adsi.h
@@ -96,8 +96,8 @@
 #define ADSI_INFO_PAGE	0x0
 #define ADSI_COMM_PAGE	0x1
 
-#define ADSI_KEY_APPS	16	/* 16 to 33 reserved for applications */
-
+#define ADSI_KEY_APPS	20	/* 16 to 33 reserved for applications */
+				/* Changed to 20 by MDH */
 /* Justification */
 #define ADSI_JUST_LEFT	0x2
 #define ADSI_JUST_RIGHT 0x1