diff --git a/apps/app_chanspy.c b/apps/app_chanspy.c
index 2d6b8e2ff30b1f2c8850a1da1da1a1f7704c3008..cf1e4759d2e9debd6b86b5f0027af1f6ec1cba01 100644
--- a/apps/app_chanspy.c
+++ b/apps/app_chanspy.c
@@ -658,7 +658,8 @@ static int extenspy_exec(struct ast_channel *chan, void *data)
 
 	if ((argc = ast_app_separate_args(data, '|', argv, sizeof(argv) / sizeof(argv[0])))) {
 		context = argv[0];
-		exten = strsep(&context, "@");
+		if (!ast_strlen_zero(argv[0]))
+			exten = strsep(&context, "@");
 		if (ast_strlen_zero(context))
 			context = ast_strdupa(chan->context);
 		if (argc > 1)