diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,8 @@
+1.1.4.0
+=======
+
+- Disambiguate OnlyField schema with for one type (https://github.com/NCrashed/aeson-injector/pull/7)
+
 1.1.3.0
 =======
 
diff --git a/aeson-injector.cabal b/aeson-injector.cabal
--- a/aeson-injector.cabal
+++ b/aeson-injector.cabal
@@ -1,5 +1,5 @@
 name:                aeson-injector
-version:             1.1.3.0
+version:             1.1.4.0
 synopsis:            Injecting fields into aeson values
 description:         It is small utility library that is intented to be used in RESTful APIs, especially with [servant](http://haskell-servant.readthedocs.io/en/stable/) and [Swagger](http://swagger.io/). Its main purpose is simple injection of fields into JSONs produced by [aeson](https://hackage.haskell.org/package/aeson) library.
 license:             MIT
diff --git a/src/Data/Aeson/WithField.hs b/src/Data/Aeson/WithField.hs
--- a/src/Data/Aeson/WithField.hs
+++ b/src/Data/Aeson/WithField.hs
@@ -436,7 +436,8 @@
 instance (KnownSymbol s, ToSchema a) => ToSchema (OnlyField s a) where
   declareNamedSchema _ = do
     NamedSchema an as <- declareNamedSchema (Proxy :: Proxy a)
-    return $ NamedSchema (fmap ("OnlyField" <>) an) $ mempty
+    let namePrefix = "OnlyField '" <> field <> "' "
+    return $ NamedSchema (fmap (namePrefix <>) an) $ mempty
       & type_ .~ Just SwaggerObject
       & properties .~ [(field, Inline as)]
       & required .~ [field]
diff --git a/test/Main.hs b/test/Main.hs
--- a/test/Main.hs
+++ b/test/Main.hs
@@ -15,6 +15,7 @@
 import Data.Proxy
 import Data.Scientific (scientific)
 import Data.Swagger
+import Data.Swagger.Lens
 import Data.Swagger.Internal.Schema
 import Data.Text
 import Data.Text.Arbitrary
@@ -414,6 +415,10 @@
                 ("a", Inline $ toSchema (Proxy :: Proxy Int)) ]
         let actual = toSchema (Proxy :: Proxy (OnlyField "a" Int))
         expected @=? (actual ^. properties)
+    , testCase "Distinct names" $ do
+        let idA = toNamedSchema (Proxy :: Proxy (OnlyField "idA" TestObj))
+        let idB = toNamedSchema (Proxy :: Proxy (OnlyField "idB" TestObj))
+        idA ^. name /= idB ^. name @? "Different OnlyField fields produce schemas with equal names"
     ]
 
 unitDataTests :: TestTree
