diff --git a/src/cuirass/http.scm b/src/cuirass/http.scm
index 3f493692f91cadb0de5e2c302efe2a6b99691adb..b8738cf797d598f457d76b59f19dd9cb125b083e 100644
--- a/src/cuirass/http.scm
+++ b/src/cuirass/http.scm
@@ -83,7 +83,11 @@
          (map (lambda (param)
                 (match (string-split param #\=)
                   ((key param)
-                   (list (string->symbol key) param))))
+                   (let ((key-symbol (string->symbol key)))
+                     (list key-symbol ((match key-symbol
+                                        ('id string->number)
+                                        ('nr string->number)
+                                        (_ const)) param))))))
               (string-split query #\&)))))