diff --git a/derive-has-field.cabal b/derive-has-field.cabal
--- a/derive-has-field.cabal
+++ b/derive-has-field.cabal
@@ -5,7 +5,7 @@
 -- see: https://github.com/sol/hpack
 
 name:           derive-has-field
-version:        0.0.1.2
+version:        0.0.1.3
 synopsis:       Derive HasField instances with Template Haskell
 description:    A Template Haskell function to derive HasField instances to utilize OverloadedRecordDot more effectively.
 category:       Template Haskell
diff --git a/src/DeriveHasField.hs b/src/DeriveHasField.hs
--- a/src/DeriveHasField.hs
+++ b/src/DeriveHasField.hs
@@ -3,7 +3,6 @@
 {-# LANGUAGE TemplateHaskell #-}
 
 module DeriveHasField (
-  module GHC.Records,
   deriveHasFieldWith,
 )
 where
@@ -59,7 +58,7 @@
           else
             [d|
               instance HasField $litTFieldWanted $parentType $(pure ty) where
-                getField = $(appTypeE (varE $ mkName "getField") litTCurrentField)
+                getField = $(appTypeE (varE 'getField) litTCurrentField)
               |]
   pure $ Foldable.concat decs
 
diff --git a/test/DeriveHasFieldSpec.hs b/test/DeriveHasFieldSpec.hs
--- a/test/DeriveHasFieldSpec.hs
+++ b/test/DeriveHasFieldSpec.hs
@@ -1,10 +1,13 @@
 {-# LANGUAGE DataKinds #-}
+{-# LANGUAGE KindSignatures #-}
 {-# LANGUAGE OverloadedRecordDot #-}
 {-# LANGUAGE TemplateHaskell #-}
 
 module DeriveHasFieldSpec where
 
-import DeriveHasField
+import Data.Data (Proxy (..))
+import DeriveHasField qualified
+import GHC.TypeLits (Symbol)
 import Import
 import Test.Hspec
 
@@ -15,7 +18,7 @@
   , someTypeSomeEitherField :: Either String Int
   }
 
-deriveHasFieldWith (dropPrefix "someType") ''SomeType
+DeriveHasField.deriveHasFieldWith (dropPrefix "someType") ''SomeType
 
 someType :: SomeType
 someType =
@@ -31,7 +34,7 @@
   , otherTypeOtherField :: Either a b
   }
 
-deriveHasFieldWith (dropPrefix "otherType") ''OtherType
+DeriveHasField.deriveHasFieldWith (dropPrefix "otherType") ''OtherType
 
 otherType :: OtherType Int String
 otherType =
@@ -40,6 +43,20 @@
     , otherTypeOtherField = Right "hello"
     }
 
+data KindedType (kind :: * -> *) (sym :: Symbol) = KindedType
+  { kindedTypeWithKind :: kind ()
+  , kindedTypeWithSymbol :: Proxy sym
+  }
+
+DeriveHasField.deriveHasFieldWith (dropPrefix "kindedType") ''KindedType
+
+kindedType :: KindedType Maybe "hello"
+kindedType =
+  KindedType
+    { kindedTypeWithKind = Just ()
+    , kindedTypeWithSymbol = Proxy @"hello"
+    }
+
 spec :: Spec
 spec = do
   describe "deriveHasField" $ do
@@ -51,3 +68,6 @@
     it "compiles and gets the right field" $ do
       otherType.field `shouldBe` Just 0
       otherType.otherField `shouldBe` Right "hello"
+    it "compiles and gets the right field" $ do
+      kindedType.withKind `shouldBe` Just ()
+      kindedType.withSymbol `shouldBe` Proxy @"hello"
