diff --git a/src_ocaml/grewpy.ml b/src_ocaml/grewpy.ml
index 061ad6aa22cf5ef635199b568e141f49f734c6de..dfceaae37b8ac420bea25070fb1e1a3dfe616815 100644
--- a/src_ocaml/grewpy.ml
+++ b/src_ocaml/grewpy.ml
@@ -195,8 +195,7 @@ let run_command request =
       begin
         try
           let corpus_index = json |> member "corpus_index" |> to_int in
-          let string_pattern = json |> member "pattern" |> to_string in
-          let pattern = Pattern.parse ~config string_pattern in
+          let pattern = Grs.request_of_json ~config (json |> member "request") in
 
           let corpus = Global.corpus_get corpus_index in
           let count = Array.fold_left