diff --git a/main/pbx.c b/main/pbx.c
index c347aeab2d1906cb7811f99eade4a9dd0fa1fab4..18a1a480ed53596126fd33b1e380c6fc104d4326 100644
--- a/main/pbx.c
+++ b/main/pbx.c
@@ -9055,7 +9055,7 @@ static int pbx_builtin_waitexten(struct ast_channel *chan, const char *data)
 	if (ast_test_flag(&flags, WAITEXTEN_MOH) && !opts[0] ) {
 		ast_log(LOG_WARNING, "The 'm' option has been specified for WaitExten without a class.\n"); 
 	} else if (ast_test_flag(&flags, WAITEXTEN_MOH)) {
-		ast_indicate_data(chan, AST_CONTROL_HOLD, opts[0], strlen(opts[0]));
+		ast_indicate_data(chan, AST_CONTROL_HOLD, S_OR(opts[0], NULL), strlen(opts[0]));
 	} else if (ast_test_flag(&flags, WAITEXTEN_DIALTONE)) {
 		struct ast_tone_zone_sound *ts = ast_get_indication_tone(chan->zone, "dial");
 		if (ts) {