diff --git a/SOURCES/0011-Keep-installed-packages-in-upgrade-job-RhBug172825216442411741381.patch b/SOURCES/0011-Keep-installed-packages-in-upgrade-job-RhBug172825216442411741381.patch
new file mode 100644
index 0000000..98c6420
--- /dev/null
+++ b/SOURCES/0011-Keep-installed-packages-in-upgrade-job-RhBug172825216442411741381.patch
@@ -0,0 +1,49 @@
+From a5c4a994f8ad2764ca8f971c39f189d5f9d7d337 Mon Sep 17 00:00:00 2001
+From: Jaroslav Mracek <jmracek@redhat.com>
+Date: Tue, 3 Sep 2019 11:01:51 +0200
+Subject: [PATCH] Keep installed packages in upgrade job (RhBug:1728252,1644241,1741381)
+
+In combination with marking of job as TARGETED it prevents from
+reinstalling of modified packages with same NEVRA.
+
+https://bugzilla.redhat.com/show_bug.cgi?id=1728252
+https://bugzilla.redhat.com/show_bug.cgi?id=1644241
+https://bugzilla.redhat.com/show_bug.cgi?id=1741381
+
+Closes: #1474
+Approved by: m-blaha
+---
+ dnf/base.py               | 3 ---
+ dnf/module/module_base.py | 2 +-
+ 2 files changed, 1 insertion(+), 4 deletions(-)
+
+diff --git a/dnf/base.py b/dnf/base.py
+index b2ced61..628c154 100644
+--- a/dnf/base.py
++++ b/dnf/base.py
+@@ -1968,9 +1968,6 @@ class Base(object):
+                 obsoletes=q.installed().union(q.upgrades()))
+             # add obsoletes into transaction
+             q = q.union(obsoletes)
+-        # provide only available packages to solver otherwise selection of available
+-        # possibilities will be ignored
+-        q = q.available()
+         if reponame is not None:
+             q.filterm(reponame=reponame)
+         q = self._merge_update_filters(q, pkg_spec=pkg_spec)
+diff --git a/dnf/module/module_base.py b/dnf/module/module_base.py
+index 976d730..ce70f63 100644
+--- a/dnf/module/module_base.py
++++ b/dnf/module/module_base.py
+@@ -214,7 +214,7 @@ class ModuleBase(object):
+ 
+             if not upgrade_package_set:
+                 logger.error(_("Unable to match profile in argument {}").format(spec))
+-            query = self.base.sack.query().available().filterm(name=upgrade_package_set)
++            query = self.base.sack.query().filterm(name=upgrade_package_set)
+             if query:
+                 sltr = dnf.selector.Selector(self.base.sack)
+                 sltr.set(pkg=query)
+--
+libgit2 0.28.2
+
diff --git a/SPECS/dnf.spec b/SPECS/dnf.spec
index 825bc3b..c35f737 100644
--- a/SPECS/dnf.spec
+++ b/SPECS/dnf.spec
@@ -1,5 +1,5 @@
 # default dependencies
-%global hawkey_version 0.35.1-5
+%global hawkey_version 0.35.1-9
 %global libcomps_version 0.1.8
 %global libmodulemd_version 1.4.0
 %global rpm_version 4.14.0
@@ -80,7 +80,7 @@ It supports RPMs, modules and comps groups & environments.
 
 Name:           dnf
 Version:        4.2.7
-Release:        6%{?dist}
+Release:        7%{?dist}
 Summary:        %{pkg_summary}
 # For a breakdown of the licensing, see PACKAGE-LICENSING
 License:        GPLv2+ and GPLv2 and GPL
@@ -97,6 +97,7 @@ Patch7:         0007-Report-missing-default-profile-as-an-error-RhBug16695271724
 Patch8:         0008-doc-Describe-a-behavior-when-plugin-is-removed-RhBug1700741.patch
 Patch9:         0009-Prevent-printing-empty-Error-Summary-RhBug-1690414.patch
 Patch10:        0010-Fix---setopt-and-repo-with-dots.patch
+Patch11:        0011-Keep-installed-packages-in-upgrade-job-RhBug172825216442411741381.patch
 
 BuildArch:      noarch
 BuildRequires:  cmake
@@ -514,7 +515,10 @@ ln -sr  %{buildroot}%{confdir}/vars %{buildroot}%{_sysconfdir}/yum/vars
 %endif
 
 %changelog
-* Fri Sep 03 2019 Jaroslav Mracek <jmracek@redhat.com> - 4.2.7-6
+* Mon Oct 21 2019 Pavla Kratochvilova <pkratoch@redhat.com> - 4.2.7-7
+- Prevent reinstalling modified packages with same NEVRA (RhBug:1728252,1644241,1760825)
+
+* Tue Sep 03 2019 Jaroslav Mracek <jmracek@redhat.com> - 4.2.7-6
 - Remove patch to not fail when installing modular RPMs without modular metadata
 
 * Fri Aug 30 2019 Pavla Kratochvilova <pkratoch@redhat.com> - 4.2.7-5