diff --git a/aws/resource_aws_sns_topic_subscription.go b/aws/resource_aws_sns_topic_subscription.go index ff8c8e70b4c..9efdb4b67b7 100644 --- a/aws/resource_aws_sns_topic_subscription.go +++ b/aws/resource_aws_sns_topic_subscription.go @@ -105,7 +105,7 @@ func resourceAwsSnsTopicSubscriptionUpdate(d *schema.ResourceData, meta interfac snsconn := meta.(*AWSClient).snsconn // If any changes happened, un-subscribe and re-subscribe - if d.HasChange("protocol") || d.HasChange("endpoint") || d.HasChange("topic_arn") { + if !d.IsNewResource() && (d.HasChange("protocol") || d.HasChange("endpoint") || d.HasChange("topic_arn")) { log.Printf("[DEBUG] Updating subscription %s", d.Id()) // Unsubscribe _, err := snsconn.Unsubscribe(&sns.UnsubscribeInput{