diff --git a/src/mod/applications/mod_sms/mod_sms.c b/src/mod/applications/mod_sms/mod_sms.c
index 32200438e5..df6ff5f00c 100644
--- a/src/mod/applications/mod_sms/mod_sms.c
+++ b/src/mod/applications/mod_sms/mod_sms.c
@@ -194,7 +194,7 @@ static int parse_exten(switch_event_t *event, switch_xml_t xexten, switch_event_
 					if (xinline) {
 						switch_core_execute_chat_app(event, application, data);
 					} else {
-						switch_event_add_header_string(*extension, SWITCH_STACK_BOTTOM, application, data);
+						switch_event_add_header_string(*extension, SWITCH_STACK_BOTTOM, application, zstr(data) ? "__undef" : data);
 					}
 				}
 				proceed = 1;
@@ -251,7 +251,7 @@ static int parse_exten(switch_event_t *event, switch_xml_t xexten, switch_event_
 					if (xinline) {
 						switch_core_execute_chat_app(event, application, app_data);
 					} else {
-						switch_event_add_header_string(*extension, SWITCH_STACK_BOTTOM, application, data);
+						switch_event_add_header_string(*extension, SWITCH_STACK_BOTTOM, application, zstr(data) ? "__undef" : data);
 					}
 				}
 				switch_safe_free(substituted);
diff --git a/src/switch_loadable_module.c b/src/switch_loadable_module.c
index c288571b19..48e9226080 100644
--- a/src/switch_loadable_module.c
+++ b/src/switch_loadable_module.c
@@ -706,6 +706,10 @@ SWITCH_DECLARE(switch_status_t) switch_core_execute_chat_app(switch_event_t *mes
 		switch_goto_status(SWITCH_STATUS_FALSE, end);
 	}
 
+	if (data && !strcmp(data, "__undef")) {
+		data = NULL;
+	}
+
 	expanded = switch_event_expand_headers(message, data);
 	
 	status = cai->chat_application_function(message, expanded);