diff --git a/SOURCES/0001-context-try-to-find-releasever-in-RPMDB.patch b/SOURCES/0001-context-try-to-find-releasever-in-RPMDB.patch
new file mode 100644
index 0000000..0f446b1
--- /dev/null
+++ b/SOURCES/0001-context-try-to-find-releasever-in-RPMDB.patch
@@ -0,0 +1,81 @@
+From 9e711da60ac3eabf266356511fc040c69c2bdbce Mon Sep 17 00:00:00 2001
+From: Igor Gnatenko <ignatenko@redhat.com>
+Date: Tue, 21 Mar 2017 17:47:00 +0100
+Subject: [PATCH] context: try to find releasever in RPMDB
+
+That's how YUM/DNF find out releasever..
+
+$ rpm -q --provides $(rpm -q --whatprovides "system-release(releasever)") | grep "^system-release(releasever)"
+system-release(releasever) = 7Server
+
+Signed-off-by: Igor Gnatenko <ignatenko@redhat.com>
+
+Closes: #278
+Approved by: ignatenkobrain
+---
+ libdnf/dnf-context.c | 29 ++++++++++++++++++++++++++++-
+ 1 file changed, 28 insertions(+), 1 deletion(-)
+
+diff --git a/libdnf/dnf-context.c b/libdnf/dnf-context.c
+index 6ec1040..3d92a5b 100644
+--- a/libdnf/dnf-context.c
++++ b/libdnf/dnf-context.c
+@@ -34,6 +34,8 @@
+ #include <gio/gio.h>
+ #include <rpm/rpmlib.h>
+ #include <rpm/rpmmacro.h>
++#include <rpm/rpmts.h>
++#include <rpm/rpmdb.h>
+ #include <librepo/librepo.h>
+ #ifdef RHSM_SUPPORT
+ #include <rhsm/rhsm.h>
+@@ -53,6 +55,8 @@
+ 
+ #define MAX_NATIVE_ARCHES    12
+ 
++#define RELEASEVER_PROV "system-release(releasever)"
++
+ /* data taken from https://github.com/rpm-software-management/dnf/blob/master/dnf/arch.py */
+ static const struct {
+     const gchar    *base;
+@@ -1029,13 +1033,36 @@ dnf_context_set_cache_age(DnfContext *context, guint cache_age)
+ static gboolean
+ dnf_context_set_os_release(DnfContext *context, GError **error)
+ {
++    const char *source_root = dnf_context_get_source_root (context);
++
++    gboolean found_in_rpmdb = FALSE;
++    rpmts ts = rpmtsCreate ();
++    rpmtsSetRootDir (ts, source_root);
++    rpmdbMatchIterator mi = rpmtsInitIterator (ts, RPMTAG_PROVIDENAME, RELEASEVER_PROV, 0);
++    Header hdr;
++    while ((hdr = rpmdbNextIterator (mi)) != NULL) {
++        const char *v = headerGetString (hdr, RPMTAG_VERSION);
++        rpmds ds = rpmdsNew (hdr, RPMTAG_PROVIDENAME, 0);
++        while (rpmdsNext (ds) >= 0) {
++            if (strcmp (rpmdsN (ds), RELEASEVER_PROV) == 0 && rpmdsFlags (ds) == RPMSENSE_EQUAL)
++                v = rpmdsEVR (ds);
++        }
++        found_in_rpmdb = TRUE;
++        dnf_context_set_release_ver (context, v);
++        rpmdsFree (ds);
++        break;
++    }
++    rpmdbFreeIterator (mi);
++    rpmtsFree (ts);
++    if (found_in_rpmdb)
++        return TRUE;
++
+     g_autofree gchar *contents = NULL;
+     g_autofree gchar *maybe_quoted_version = NULL;
+     g_autofree gchar *version = NULL;
+     g_autofree gchar *os_release = NULL;
+     g_autoptr(GString) str = NULL;
+     g_autoptr(GKeyFile) key_file = NULL;
+-    const char *source_root = dnf_context_get_source_root(context);
+ 
+     os_release = g_build_filename(source_root, "etc/os-release", NULL);
+     if (!dnf_get_file_contents_allow_noent(os_release, &contents, NULL, error))
+-- 
+2.12.1
+
diff --git a/SPECS/libdnf.spec b/SPECS/libdnf.spec
index 6015364..f20eb71 100644
--- a/SPECS/libdnf.spec
+++ b/SPECS/libdnf.spec
@@ -3,15 +3,19 @@
 
 %bcond_with valgrind
 
+%if 0%{?rhel}
 %bcond_without rhsm
+%else
+%bcond_with rhsm
+%endif
 
 %global _cmake_opts \\\
-    -DENABLE_RHSM_SUPPORT=OFF \\\
+    -DENABLE_RHSM_SUPPORT=%{?with_rhsm:ON}%{!?with_rhsm:OFF} \\\
     %{nil}
 
 Name:           libdnf
 Version:        0.7.4
-Release:        2%{?dist}.el
+Release:        3%{?dist}
 Summary:        Library providing simplified C and Python API to libsolv
 License:        LGPLv2+
 URL:            https://github.com/rpm-software-management/libdnf
@@ -19,6 +23,8 @@ Source0:        %{url}/archive/%{version}/%{name}-%{version}.tar.gz
 
 Patch0:         0001-Revert-selector-prefer-obsoletes-Related-RhBug-10965.patch
 
+Patch0001:      0001-context-try-to-find-releasever-in-RPMDB.patch
+
 BuildRequires:  cmake
 BuildRequires:  gcc
 BuildRequires:  libsolv-devel >= %{libsolv_version}
@@ -31,6 +37,9 @@ BuildRequires:  pkgconfig(gio-unix-2.0) >= 2.44.0
 BuildRequires:  pkgconfig(gtk-doc)
 BuildRequires:  pkgconfig(gobject-introspection-1.0)
 BuildRequires:  rpm-devel >= 4.11.0
+%if %{with rhsm}
+BuildRequires:  pkgconfig(librhsm)
+%endif
 
 Requires:       libsolv%{?_isa} >= %{libsolv_version}
 
@@ -88,8 +97,8 @@ popd
 %{_datadir}/gir-1.0/Dnf-*.gir
 
 %changelog
-* Tue Mar  7 2017 Johnny Hughes <johnny@centos.org> - 0.7.4-2
-- Manual CentOS Debranding
+* Thu Mar 23 2017 Igor Gnatenko <ignatenko@redhat.com> - 0.7.4-3
+- Backport patch to find releasever in RPMDB
 
 * Mon Feb 20 2017 Jan Silhan <jsilhan@redhat.com> - 0.7.4-2
 - 0.7.4