diff --git a/lib/phoenix_ecto/html.ex b/lib/phoenix_ecto/html.ex
index eb7b269..6688f1a 100644
--- a/lib/phoenix_ecto/html.ex
+++ b/lib/phoenix_ecto/html.ex
@@ -130,7 +130,7 @@ if Code.ensure_loaded?(Phoenix.HTML) do
def input_type(%{types: types}, _, field) do
type = Map.get(types, field, :string)
- type = if Ecto.Type.primitive?(type), do: type, else: type.type
+ type = if Ecto.Type.primitive?(type), do: type, else: type.type()
case type do
:integer -> :number_input