diff --git a/main/cel.c b/main/cel.c
index d46f185cf734ed59b45574f77e48d111a131cc17..24d7faa85941143da04c263fa69f913059e632a7 100644
--- a/main/cel.c
+++ b/main/cel.c
@@ -1837,9 +1837,9 @@ void ast_cel_publish_event(struct ast_channel *chan,
 	struct ast_json *cel_blob;
 	struct stasis_message *message;
 
-	cel_blob = ast_json_pack("{s: i, s: O}",
+	cel_blob = ast_json_pack("{s: i, s: o}",
 		"event_type", event_type,
-		"event_details", blob);
+		"event_details", ast_json_ref(blob));
 
 	message = ast_channel_blob_create_from_cache(ast_channel_uniqueid(chan), cel_generic_type(), cel_blob);
 	if (message) {