Thanks all for the comments: I've learned a lot (: To summarise: - kernel-default 4.4.68-7.1 (old) was installed from @System - kernel-default 4.11.1-1.1 (current) was installed from openSUSE-Ports-Tumbleweed-repo-oss - both are from a different vendor - --no-allow-vendor-change dislikes the vendor difference and doesn't know what to do with kernel-default 4.4.68-7.1, but in the message forgets to tell there also is kernel-default 4.11.1-1.1 which is current - without --no-allow-vendor-change there is no problem: it allows the vendor difference Aren't @System and openSUSE-Ports-Tumbleweed-repo-oss are effectively the same? If so: shouldn't the solver treat them like that? For my own reference so I can query this stuff myself in the future: # zypper packages --installed-only --sort-by-name | grep -e "kernel" i+ | @System | kernel-default | 4.4.68-7.1 | aarch64 i+ | openSUSE-Ports-Tumbleweed-repo-oss | kernel-default | 4.11.1-1.1 | aarch64 i+ | openSUSE-Ports-Tumbleweed-repo-oss | kernel-firmware | 20170511-1.1 | noarch # zypper search --details kernel-default Loading repository data... Reading installed packages... S | Name | Type | Version | Arch | Repository ---+----------------------+---------+------------+---------+----------------------------------- i+ | kernel-default | package | 4.4.68-7.1 | aarch64 | (System Packages) i+ | kernel-default | package | 4.11.1-1.1 | aarch64 | openSUSE-Ports-Tumbleweed-repo-oss | kernel-default-base | package | 4.11.1-1.1 | aarch64 | openSUSE-Ports-Tumbleweed-repo-oss | kernel-default-devel | package | 4.11.1-1.1 | aarch64 | openSUSE-Ports-Tumbleweed-repo-oss https://forums.opensuse.org/showthread.php/500993-How-to-check-which-repository-provided-package https://en.opensuse.org/SDB:Zypper_manual_(plain)