diff --git a/app/views/wds_servers/_image_select.html.erb b/app/views/wds_servers/_image_select.html.erb
index c4e23ba641f09f6973937f80ddefce5bc292a0cb..e06089bd13e9720a194d8ed0112eaacfcacce52b 100644
--- a/app/views/wds_servers/_image_select.html.erb
+++ b/app/views/wds_servers/_image_select.html.erb
@@ -6,7 +6,15 @@
     images = images.select { |img| img.matches_architecture?(host.architecture) && img.enabled } if host.architecture
     boot_images = images.select { |img| img.is_a?(ForemanWds::WdsBootImage) }
     install_images = images.select { |img| img.is_a?(ForemanWds::WdsInstallImage) }
-    install_images = install_images.select { |img| img.version == "#{host.operatingsystem.major}.#{host.operatingsystem.minor}" } if host.operatingsystem
+
+    if host.operatingsystem
+      host_is_client = host.operatingsystem.name.end_with?('_client')
+      client_sort_order = host_is_client ? 0 : 1
+      server_sort_order = host_is_client ? 1 : 0
+
+      install_images = install_images.select { |img| img.version == "#{host.operatingsystem.major}.#{host.operatingsystem.minor}" }
+                                     .sort_by { |img| "#{img.name =~ /server/i ? server_sort_order : client_sort_order}#{img.name}" }
+    end
   -%>
   <%= select_f f, :install_image_name, install_images, :name, :name,
     { selected: item.install_image_name },