diff --git a/azurerm/data_source_redis_cache.go b/azurerm/data_source_redis_cache.go
index <HASH>..<HASH> 100644
--- a/azurerm/data_source_redis_cache.go
+++ b/azurerm/data_source_redis_cache.go
@@ -251,6 +251,8 @@ func dataSourceArmRedisCacheRead(d *schema.ResourceData, meta interface{}) error
 		if err = d.Set("patch_schedule", patchSchedule); err != nil {
 			return fmt.Errorf("Error setting `patch_schedule`: %+v", err)
 		}
+	} else {
+		d.Set("patch_schedule", []interface{}{})
 	}
 
 	keys, err := client.ListKeys(ctx, resourceGroup, name)
Set `patch_schedule` to empty list if no schedules present - allows
outputs to be used for this item without error, even when there are no schedules.