diff --git a/server/src/main/java/org/apache/cloudstack/backup/BackupManagerImpl.java b/server/src/main/java/org/apache/cloudstack/backup/BackupManagerImpl.java index 829c4d80f94..8516f6d2085 100644 --- a/server/src/main/java/org/apache/cloudstack/backup/BackupManagerImpl.java +++ b/server/src/main/java/org/apache/cloudstack/backup/BackupManagerImpl.java @@ -346,12 +346,12 @@ public class BackupManagerImpl extends ManagerBase implements BackupManager { final Long zoneId = cmd.getZoneId() != null ? cmd.getZoneId() : sourceOffering.getZoneId(); if (!Objects.equals(sourceOffering.getExternalId(), externalId)) { - final BackupProvider provider = getBackupProvider(sourceOffering.getZoneId()); - if (!provider.isValidProviderOffering(sourceOffering.getZoneId(), externalId)) { - throw new CloudRuntimeException("Backup offering '" + externalId + "' does not exist on provider " + provider.getName() + " on zone " + sourceOffering.getZoneId()); + final BackupProvider provider = getBackupProvider(zoneId); + if (!provider.isValidProviderOffering(zoneId, externalId)) { + throw new CloudRuntimeException("Backup offering '" + externalId + "' does not exist on provider " + provider.getName() + " on zone " + zoneId); } - final BackupOffering existingOffering = backupOfferingDao.findByExternalId(externalId, sourceOffering.getZoneId()); + final BackupOffering existingOffering = backupOfferingDao.findByExternalId(externalId, zoneId); if (existingOffering != null) { throw new CloudRuntimeException("A backup offering with external ID '" + externalId + "' already exists in this zone"); }