diff --git a/recipes-extended/sdbusplus/files/0001-Revert-sdbus-switch-to-python3.patch b/recipes-extended/sdbusplus/files/0001-Revert-sdbus-switch-to-python3.patch
deleted file mode 100644
index 09c2c43..0000000
--- a/recipes-extended/sdbusplus/files/0001-Revert-sdbus-switch-to-python3.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-From 8729226fb79d49129c8349645e0f8ec381f14be8 Mon Sep 17 00:00:00 2001
-From: Patrick Williams <patrick@stwcx.xyz>
-Date: Wed, 1 Apr 2020 08:48:05 -0500
-Subject: [PATCH] Revert "sdbus++: switch to python3"
-
-This reverts commit 18ce803d1e2a6a1779d38f7bf5279901b02583e0.
----
- configure.ac                    | 2 +-
- tools/sdbus++                   | 8 ++++++--
- tools/sdbusplus/namedelement.py | 4 ++--
- 3 files changed, 9 insertions(+), 5 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index ec65562..11c189b 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -29,7 +29,7 @@ AC_PROG_INSTALL
- AC_PROG_MAKE_SET
- 
- # setup sdbus++
--AM_PATH_PYTHON([3.0], [AC_SUBST([PYTHON], [echo "$PYTHON"])])
-+AM_PATH_PYTHON([2.7], [AC_SUBST([PYTHON], [echo "$PYTHON"])])
- AC_SUBST([PYTHONDIR], ${pythondir})
- AS_IF([test "$PYTHON" != :], [have_python=yes], [have_python=no])
- 
-diff --git a/tools/sdbus++ b/tools/sdbus++
-index fa12677..6cfcb9e 100755
---- a/tools/sdbus++
-+++ b/tools/sdbus++
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python3
-+#!/usr/bin/env python
- import sdbusplus
- import mako.lookup
- import argparse
-@@ -35,7 +35,11 @@ def main():
- 
-     args = parser.parse_args()
- 
--    lookup = mako.lookup.TemplateLookup(directories=[args.templatedir])
-+    if sys.version_info < (3, 0):
-+        lookup = mako.lookup.TemplateLookup(directories=[args.templatedir],
-+                                            disable_unicode=True)
-+    else:
-+        lookup = mako.lookup.TemplateLookup(directories=[args.templatedir])
- 
-     instance = valid_types[args.typeName].load(args.item, args.rootdir)
-     function = getattr(instance, valid_processes[args.process])
-diff --git a/tools/sdbusplus/namedelement.py b/tools/sdbusplus/namedelement.py
-index 1548ef0..5048654 100644
---- a/tools/sdbusplus/namedelement.py
-+++ b/tools/sdbusplus/namedelement.py
-@@ -7,7 +7,7 @@ class NamedElement(object):
-         self.name = kwargs.pop('name', "unnamed")
-         self.description = kwargs.pop('description', "")
- 
--    def __getattribute__(self, name):
-+    def __getattr__(self, name):
-         l = {'CamelCase': lambda: inflection.camelize(self.name),
-              'camelCase': lambda: inflection.camelize(self.name, False),
-              'snake_case': lambda: inflection.underscore(self.name)}\
-@@ -16,7 +16,7 @@ class NamedElement(object):
-         if l:
-             return NamedElement.__fixup_name(l())
-         try:
--            return super(NamedElement, self).__getattribute__(name)
-+            return super(NamedElement, self).__getattr__(name)
-         except:
-             raise AttributeError("Attribute '%s' not found in %s.NamedElement"
-                                  % (name, self.__module__))
--- 
-2.24.1
-
diff --git a/recipes-extended/sdbusplus/python-sdbus++_git.bb b/recipes-extended/sdbusplus/python-sdbus++_git.bb
deleted file mode 100644
index de4d6ba..0000000
--- a/recipes-extended/sdbusplus/python-sdbus++_git.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-inherit obmc-phosphor-python-autotools
-include sdbus++.inc
-
-SRC_URI += "file://0001-Revert-sdbus-switch-to-python3.patch"
-
-# Provide these aliases temporarily until everyone can move over to the
-# new package name.
-PROVIDES_class-native += "sdbusplus-native sdbus++-native"
-PROVIDES_class-nativesdk += "sdbusplus-nativesdk sdbus++-nativesdk"
-
-# If anyone wanted the sdbus++ executable, make them use the python3 version.
-# This avoids issues where both packages attempt to install the executable
-# into /usr/bin.
-DEPENDS += "python3-sdbus++-native"
-do_install_append() {
-    rm ${D}${bindir}/sdbus++
-    rmdir ${D}${bindir} || true
-}
diff --git a/recipes-extended/sdbusplus/python3-sdbus++_git.bb b/recipes-extended/sdbusplus/python3-sdbus++_git.bb
index 829d496..bf815ce 100644
--- a/recipes-extended/sdbusplus/python3-sdbus++_git.bb
+++ b/recipes-extended/sdbusplus/python3-sdbus++_git.bb
@@ -1,2 +1,31 @@
+SUMMARY = "sdbus++ dbus API / binding generator"
+DESCRIPTION = "Generates bindings against sdbusplus for dbus APIs"
+
+inherit autotools pkgconfig
 inherit obmc-phosphor-python3-autotools
-include sdbus++.inc
+
+include sdbusplus-rev.inc
+
+# Provide these aliases temporarily until everyone can move over to the
+# new package name.
+PROVIDES_class-native += "sdbusplus-native"
+PROVIDES_class-nativesdk += "sdbusplus-nativesdk"
+
+DEPENDS += " \
+    autoconf-archive-native \
+    ${PYTHON_PN}-inflection-native \
+    ${PYTHON_PN}-mako-native \
+    ${PYTHON_PN}-pyyaml-native \
+    "
+
+RDEPENDS_${PN} += " \
+    ${PYTHON_PN}-inflection \
+    ${PYTHON_PN}-mako \
+    ${PYTHON_PN}-pyyaml \
+    "
+
+PACKAGECONFIG ??= "transaction"
+PACKAGECONFIG[libsdbusplus] = "--enable-libsdbusplus,--disable-libsdbusplus,systemd,libsystemd"
+PACKAGECONFIG[transaction] = "--enable-transaction,--disable-transaction"
+
+BBCLASSEXTEND += "native nativesdk"
diff --git a/recipes-extended/sdbusplus/sdbus++.inc b/recipes-extended/sdbusplus/sdbus++.inc
deleted file mode 100644
index b5cffb8..0000000
--- a/recipes-extended/sdbusplus/sdbus++.inc
+++ /dev/null
@@ -1,25 +0,0 @@
-SUMMARY = "sdbus++ dbus API / binding generator"
-DESCRIPTION = "Generates bindings against sdbusplus for dbus APIs"
-
-inherit autotools pkgconfig
-
-include sdbusplus-rev.inc
-
-DEPENDS += " \
-    autoconf-archive-native \
-    ${PYTHON_PN}-inflection-native \
-    ${PYTHON_PN}-mako-native \
-    ${PYTHON_PN}-pyyaml-native \
-    "
-
-RDEPENDS_${PN} += " \
-    ${PYTHON_PN}-inflection \
-    ${PYTHON_PN}-mako \
-    ${PYTHON_PN}-pyyaml \
-    "
-
-PACKAGECONFIG ??= "transaction"
-PACKAGECONFIG[libsdbusplus] = "--enable-libsdbusplus,--disable-libsdbusplus,systemd,libsystemd"
-PACKAGECONFIG[transaction] = "--enable-transaction,--disable-transaction"
-
-BBCLASSEXTEND += "native nativesdk"
