AFAICS this check here https://github.com/yast/yast-packager/blob/master/src/lib/packager/clients/repositories.rb#L2087 might be a bit over-optimistic. That "service" key might not even be in that hash, so accessing it would return 'nil' which is not checked at all. Also, it is pointless to construct that message and only afterwards check if it should be posted; this is an invitation to other problems. We should probably check like this at the very beginning of that function: def warn_service_repository(source_state) service = source_state["service"] return if service.nil? || service.empty? ... ... end