diff --git a/apps/app_page.c b/apps/app_page.c
index 11d90cb2195f02177f714f77ef3b2fd04f11adb6..720c7abb7f11b5923cf85d691f1afcdf92f866f4 100644
--- a/apps/app_page.c
+++ b/apps/app_page.c
@@ -167,16 +167,16 @@ static int page_exec(struct ast_channel *chan, void *data)
 		return -1;
 	}
 
+	ast_copy_string(originator, chan->name, sizeof(originator));
+	if ((tmp = strchr(originator, '-')))
+		*tmp = '\0';
+
 	tmp = strsep(&options, "|");
 	if (options)
 		ast_app_parse_options(page_opts, &flags, NULL, options);
 
 	snprintf(meetmeopts, sizeof(meetmeopts), "%ud|%sqxdw", confid, ast_test_flag(&flags, PAGE_DUPLEX) ? "" : "m");
 
-	ast_copy_string(originator, chan->name, sizeof(originator));
-	if ((tmp = strchr(originator, '-')))
-		*tmp = '\0';
-
 	while ((tech = strsep(&tmp, "&"))) {
 		/* don't call the originating device */
 		if (!strcasecmp(tech, originator))