diff --git a/src/transformations/utils.ml b/src/transformations/utils.ml
index a2279ec330bad8e31aa96007f0a6c6c87a2be71b..26966f6c5c2384e1c292c79bf483dea134d958c5 100644
--- a/src/transformations/utils.ml
+++ b/src/transformations/utils.ml
@@ -42,10 +42,14 @@ let count_nn_classifiers =
     | Term.Tapp (ls, _) -> (
       match Language.lookup_nn_classifier ls with
       | None -> acc
-      | Some _ -> acc + 1)
+      | Some _ -> Term.Sls.add ls acc)
     | _ -> acc
   in
-  Trans.fold_decl (fun decl acc -> Decl.decl_fold aux acc decl) 0
+  Trans.bind
+    (Trans.fold_decl
+       (fun decl acc -> Decl.decl_fold aux acc decl)
+       Term.Sls.empty)
+    (fun s -> Trans.return (Term.Sls.cardinal s))
 
 let get_input_variables =
   let add i acc = function