diff --git a/libs/declarative/connectionicon.cpp b/libs/declarative/connectionicon.cpp --- a/libs/declarative/connectionicon.cpp +++ b/libs/declarative/connectionicon.cpp @@ -313,7 +313,18 @@ } NetworkManager::ActiveConnection::Ptr connection = NetworkManager::activatingConnection(); - if (!connection) { + if (connection && !connection->devices().isEmpty()) { + NetworkManager::Device::Ptr device = NetworkManager::findNetworkInterface(connection->devices().first()); + + if (device) { + NetworkManager::Device::Type type = device->type(); + if (type != NetworkManager::Device::Wifi && type != NetworkManager::Device::Ethernet && + type != NetworkManager::Device::Modem && type != NetworkManager::Device::Bluetooth ) { + connection = NetworkManager::primaryConnection(); + } + } + } + else { connection = NetworkManager::primaryConnection(); }