| C.MutCase (uri,n1,ty,te,patterns) ->
        let connames_and_argsno =
         (match fst(CicEnvironment.get_obj CicUniv.empty_ugraph uri) with
-            C.InductiveDefinition (dl,_,_,_) ->
+            C.InductiveDefinition (dl,_,paramsno,_) ->
              let (_,_,_,cons) = get_nth dl (n1+1) in
               List.map
                (fun id,ty ->
                  (* this is just an approximation since we do not have
                     reduction yet! *)
-                 let rec count_prods =
+                 let rec count_prods toskip =
                   function
-                     C.Prod (_,_,bo) -> 1 + count_prods bo
+                     C.Prod (_,_,bo) when toskip > 0 ->
+                      count_prods (toskip - 1) bo
+                   | C.Prod (_,_,bo) -> 1 + count_prods 0 bo
                    | _ -> 0
                  in
-                  id, count_prods ty
+                  id, count_prods paramsno ty
                ) cons
           | _ -> raise CicPpInternalError
         )