diff --git a/SOURCES/weak-modules b/SOURCES/weak-modules
index 9298093..dd163cc 100644
--- a/SOURCES/weak-modules
+++ b/SOURCES/weak-modules
@@ -966,6 +966,7 @@ add_kernel() {
     local krel=${1:-$(uname -r)}
     local tmp
     local no_force_update=""
+    local num
 
     tmp=$(mktemp -p $tmpdir)
 
@@ -983,9 +984,28 @@ add_kernel() {
 
         # reuse tmp
 
+	# optimization, check independent modules in one run.
+	# first try groups with one element in each.
+	# it means independent modules, so we can safely remove
+	# incompatible links
+	# some cut and paste here
+
+	echo > $tmp
         for g in "${groups[@]}"; do
+	    num="$(echo "$g" | wc -w)"
+	    [ "$num" -gt 1 ] && continue
+
+            printf '%s\n' $g >> $tmp
+	done
+        # to avoid subshell, see the read_modules_list comment
+        read_modules_list < $tmp
+        update_modules_for_krel $krel add_weak_links force_update
+
+        for g in "${groups[@]}"; do
+	    num="$(echo "$g" | wc -w)"
+	    [ "$num" -eq 1 ] && continue
+
             printf '%s\n' $g > $tmp
-            # to avoid subshell, see the read_modules_list comment
             read_modules_list < $tmp
             update_modules_for_krel $krel add_weak_links $no_force_update
         done
diff --git a/SPECS/kmod.spec b/SPECS/kmod.spec
index d9dfec2..0b4bb5e 100644
--- a/SPECS/kmod.spec
+++ b/SPECS/kmod.spec
@@ -1,6 +1,6 @@
 Name:		kmod
 Version:	25
-Release:	11%{?dist}.2
+Release:	13%{?dist}
 Summary:	Linux kernel module management utilities
 
 Group:		System Environment/Kernel
@@ -123,13 +123,13 @@ install -m 0644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/depmod.d/dist.conf
 %{_libdir}/libkmod.so
 
 %changelog
-* Wed Apr  3 2019 Yauheni Kaliuta <ykaliuta@redhat.com> - 25-11.el8_0.2
-- Rebuild because of gating.
-  Related: rhbz#1695557
+* Tue Apr 16 2019 Yauheni Kaliuta <ykaliuta@redhat.com> - 25-13
+- weak-modules: handle independent modules in one run
+  Resolves: rhbz#1695763
 
-* Wed Apr  3 2019 Yauheni Kaliuta <ykaliuta@redhat.com> - 25-11.el8_0.1
+* Tue Apr  2 2019 Yauheni Kaliuta <ykaliuta@redhat.com> - 25-12
 - weak-modules: use asterisk for kernel version in sandbox
-  Resolves: rhbz#1695557
+  Resolves: rhbz#1689052
 
 * Tue Feb  5 2019 Yauheni Kaliuta <ykaliuta@redhat.com> - 25-11
 - add PKCS7/openssl support.