diff --git a/service/lib/agama/dbus/software/manager.rb b/service/lib/agama/dbus/software/manager.rb index eac0ff69c9..acabf7c7d6 100644 --- a/service/lib/agama/dbus/software/manager.rb +++ b/service/lib/agama/dbus/software/manager.rb @@ -62,8 +62,14 @@ def initialize(backend, logger) dbus_reader :selected_base_product, "s" dbus_method :SelectProduct, "in ProductID:s" do |product_id| - logger.info "SelectProduct #{product_id}" + old_product_id = backend.product + if old_product_id == product_id + logger.info "Do not changing the product as it is still the same (#{product_id})" + return + end + + logger.info "Selecting product #{product_id}" select_product(product_id) dbus_properties_changed(SOFTWARE_INTERFACE, { "SelectedBaseProduct" => product_id }, []) update_validation # as different product means different software selection