diff --git a/tools/Azure.Mcp.Tools.AzureBackup/src/Services/RsvBackupOperations.cs b/tools/Azure.Mcp.Tools.AzureBackup/src/Services/RsvBackupOperations.cs index 291ca85c13..4c278f36a4 100644 --- a/tools/Azure.Mcp.Tools.AzureBackup/src/Services/RsvBackupOperations.cs +++ b/tools/Azure.Mcp.Tools.AzureBackup/src/Services/RsvBackupOperations.cs @@ -1002,6 +1002,13 @@ public async Task ConfigureCrossRegionRestoreAsync( var currentConfig = await configResource.GetAsync(cancellationToken); var data = currentConfig.Value.Data; + + // The BackupResourceConfig GET reliably returns the CRR state even when the + // Vault GET RedundancySettings.CrossRegionRestore property is not populated. + if (data.Properties.EnableCrossRegionRestore == true) + { + return new OperationResult("Succeeded", null, $"Cross-Region Restore is already enabled for vault '{vaultName}'."); + } data.Properties.EnableCrossRegionRestore = true; var rgId = ResourceGroupResource.CreateResourceIdentifier(subscription, resourceGroup);