diff --git a/qemu.spec b/qemu.spec
index 149a41a..4dac904 100644
--- a/qemu.spec
+++ b/qemu.spec
@@ -201,35 +201,6 @@ emulation speed by using dynamic translation. QEMU has two operating modes:
 As QEMU requires no host kernel patches to run, it is safe and easy to use.
 
 
-%if %{have_kvm}
-%package kvm
-Summary: QEMU metapackage for KVM support
-Group: Development/Tools
-Requires: qemu-%{kvm_package} = %{epoch}:%{version}-%{release}
-
-%description kvm
-This is a meta-package that provides a qemu-system-<arch> package for native
-architectures where kvm can be enabled. For example, in an x86 system, this
-will install qemu-system-x86
-%endif
-
-
-%package  img
-Summary: QEMU command line tool for manipulating disk images
-Group: Development/Tools
-
-%description img
-This package provides a command line tool for manipulating disk images
-
-
-%package -n ivshmem-tools
-Summary: Client and server for QEMU ivshmem device
-Group: Development/Tools
-
-%description -n ivshmem-tools
-This package provides client and server tools for QEMU's ivshmem device.
-
-
 %package  common
 Summary: QEMU common files needed by all QEMU targets
 Group: Development/Tools
@@ -247,6 +218,19 @@ emulation speed by using dynamic translation.
 This package provides the common files needed by all QEMU targets
 
 
+%package -n ksm
+Summary: Kernel Samepage Merging services
+Group: Development/Tools
+Requires: %{name}-common = %{epoch}:%{version}-%{release}
+Requires(post): systemd-units
+Requires(postun): systemd-units
+%description -n ksm
+Kernel Samepage Merging (KSM) is a memory-saving de-duplication feature,
+that merges anonymous (private) pages (not pagecache ones).
+
+This package provides service files for disabling and tuning KSM.
+
+
 %package guest-agent
 Summary: QEMU guest agent
 Group: System Environment/Daemons
@@ -263,27 +247,43 @@ with the host over a virtio-serial channel named "org.qemu.guest_agent.0"
 
 This package does not need to be installed on the host OS.
 
-%post guest-agent
-%systemd_post qemu-guest-agent.service
 
-%preun guest-agent
-%systemd_preun qemu-guest-agent.service
+%package  img
+Summary: QEMU command line tool for manipulating disk images
+Group: Development/Tools
 
-%postun guest-agent
-%systemd_postun_with_restart qemu-guest-agent.service
+%description img
+This package provides a command line tool for manipulating disk images
 
 
-%package -n ksm
-Summary: Kernel Samepage Merging services
+%package -n ivshmem-tools
+Summary: Client and server for QEMU ivshmem device
 Group: Development/Tools
-Requires: %{name}-common = %{epoch}:%{version}-%{release}
-Requires(post): systemd-units
-Requires(postun): systemd-units
-%description -n ksm
-Kernel Samepage Merging (KSM) is a memory-saving de-duplication feature,
-that merges anonymous (private) pages (not pagecache ones).
 
-This package provides service files for disabling and tuning KSM.
+%description -n ivshmem-tools
+This package provides client and server tools for QEMU's ivshmem device.
+
+
+%if %{have_kvm}
+%package kvm
+Summary: QEMU metapackage for KVM support
+Group: Development/Tools
+Requires: qemu-%{kvm_package} = %{epoch}:%{version}-%{release}
+
+%description kvm
+This is a meta-package that provides a qemu-system-<arch> package for native
+architectures where kvm can be enabled. For example, in an x86 system, this
+will install qemu-system-x86
+
+
+%package kvm-tools
+Summary: KVM debugging and diagnostics tools
+Group: Development/Tools
+
+%description kvm-tools
+This package contains some diagnostics and debugging tools for KVM,
+such as kvm_stat.
+%endif
 
 
 %package user
@@ -515,16 +515,6 @@ emulation speed by using dynamic translation.
 This package provides the system emulator for Tricore.
 
 
-%if %{have_kvm}
-%package kvm-tools
-Summary: KVM debugging and diagnostics tools
-Group: Development/Tools
-
-%description kvm-tools
-This package contains some diagnostics and debugging tools for KVM,
-such as kvm_stat.
-%endif
-
 
 %prep
 %setup -q -n qemu-%{version}-rc0
@@ -854,20 +844,25 @@ getent passwd qemu >/dev/null || \
 
 %post user
 /bin/systemctl --system try-restart systemd-binfmt.service &>/dev/null || :
-
 %postun user
 /bin/systemctl --system try-restart systemd-binfmt.service &>/dev/null || :
 
 
+%post guest-agent
+%systemd_post qemu-guest-agent.service
+%preun guest-agent
+%systemd_preun qemu-guest-agent.service
+%postun guest-agent
+%systemd_postun_with_restart qemu-guest-agent.service
+
+
+
 %global kvm_files \
 %{_udevdir}/80-kvm.rules
 
-
 %files
+# Deliberately empty
 
-%if %{have_kvm}
-%files kvm
-%endif
 
 %files common -f %{name}.lang
 %dir %{qemudocdir}
@@ -910,6 +905,28 @@ getent passwd qemu >/dev/null || \
 %{_udevdir}/99-qemu-guest-agent.rules
 
 
+%files img
+%{_bindir}/qemu-img
+%{_bindir}/qemu-io
+%{_bindir}/qemu-nbd
+%{_mandir}/man1/qemu-img.1*
+%{_mandir}/man8/qemu-nbd.8*
+
+
+%files -n ivshmem-tools
+%{_bindir}/ivshmem-client
+%{_bindir}/ivshmem-server
+
+
+%if %{have_kvm}
+%files kvm
+# Deliberately empty
+
+%files kvm-tools
+%{_bindir}/kvm_stat
+%endif
+
+
 %files user
 %{_exec_prefix}/lib/binfmt.d/qemu-*.conf
 %{_bindir}/qemu-i386
@@ -999,12 +1016,6 @@ getent passwd qemu >/dev/null || \
 %endif
 
 
-%if %{have_kvm}
-%files kvm-tools
-%{_bindir}/kvm_stat
-%endif
-
-
 %files system-alpha
 %{_bindir}/qemu-system-alpha
 %{_datadir}/systemtap/tapset/qemu-system-alpha*.stp
@@ -1147,19 +1158,6 @@ getent passwd qemu >/dev/null || \
 %{_mandir}/man1/qemu-system-tricore.1*
 
 
-%files img
-%{_bindir}/qemu-img
-%{_bindir}/qemu-io
-%{_bindir}/qemu-nbd
-%{_mandir}/man1/qemu-img.1*
-%{_mandir}/man8/qemu-nbd.8*
-
-
-%files -n ivshmem-tools
-%{_bindir}/ivshmem-client
-%{_bindir}/ivshmem-server
-
-
 %changelog
 * Wed Nov 04 2015 Cole Robinson <crobinso@redhat.com> - 2:2.4.1-1
 - Rebased to version 2.4.1