diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+# 0.1.0.3 (2019-05-09)
+
+* Compatibility with `generics-sop-0.5`.
+
 # 0.1.0.2 (2018-10-20)
 
 * Relax version bound on generics-sop and add an
diff --git a/Setup.hs b/Setup.hs
deleted file mode 100644
--- a/Setup.hs
+++ /dev/null
@@ -1,2 +0,0 @@
-import Distribution.Simple
-main = defaultMain
diff --git a/records-sop.cabal b/records-sop.cabal
--- a/records-sop.cabal
+++ b/records-sop.cabal
@@ -1,12 +1,12 @@
 name: records-sop
-version: 0.1.0.2
+version: 0.1.0.3
 author: Andres Löh <andres@well-typed.com>
 maintainer: andres@well-typed.com
 license: BSD3
 license-file: LICENSE
 cabal-version: >= 1.10
 build-type: Simple
-tested-with: GHC == 8.0.2, GHC == 8.2.1, GHC == 8.4.3, GHC == 8.6.1
+tested-with: GHC == 8.0.2, GHC == 8.2.1, GHC == 8.4.4, GHC == 8.6.5
 category: Generics
 synopsis: Record subtyping and record utilities with generics-sop
 description:
@@ -33,7 +33,7 @@
   build-depends:
     base >= 4.9 && < 5.0,
     deepseq >= 1.3 && < 1.5,
-    generics-sop >= 0.3 && < 0.5,
+    generics-sop >= 0.3 && < 0.6,
     ghc-prim >= 0.5 && < 0.6
   default-language:
     Haskell2010
@@ -50,8 +50,8 @@
   build-depends:
     base >= 4.9 && < 5.0,
     deepseq >= 1.4 && < 1.5,
-    hspec >= 2.2 && < 2.6,
-    generics-sop >= 0.3 && < 0.5,
+    hspec >= 2.2 && < 2.8,
+    generics-sop >= 0.3 && < 0.6,
     records-sop,
     should-not-typecheck >= 2.1 && < 2.2
   default-language:
diff --git a/src/Generics/SOP/Record.hs b/src/Generics/SOP/Record.hs
--- a/src/Generics/SOP/Record.hs
+++ b/src/Generics/SOP/Record.hs
@@ -1,5 +1,5 @@
 {-# LANGUAGE ConstraintKinds #-}
-{-# LANGUAGE ConstraintKinds #-}
+{-# LANGUAGE CPP #-}
 {-# LANGUAGE DeriveGeneric #-}
 {-# LANGUAGE FlexibleContexts #-}
 {-# LANGUAGE FlexibleInstances #-}
@@ -102,7 +102,11 @@
 --
 type family
   ToRecordCode_Datatype (a :: Type) (d :: DatatypeInfo) (c :: [[Type]]) :: RecordCode where
+#if MIN_VERSION_generics_sop(0,5,0)
+  ToRecordCode_Datatype a (ADT _ _ cis _)  c = ToRecordCode_Constructor a cis c
+#else
   ToRecordCode_Datatype a (ADT _ _ cis)    c = ToRecordCode_Constructor a cis c
+#endif
   ToRecordCode_Datatype a (Newtype _ _ ci) c = ToRecordCode_Constructor a '[ ci ] c
 
 -- | Helper for 'RecordCodeOf', handling the constructor level. Only
@@ -243,7 +247,7 @@
 --------------------------------------------------------------------------
 -- Utilities
 --------------------------------------------------------------------------
- 
+
 -- | Projection of the second component of a type-level pair,
 -- wrapped in a newtype.
 --
