Looking at issue #639 this seems to be the root cause

After fixing this part, there also needs to be made a change to the
example given or the schema of aws_elb.
Fixing the flipflop problem

Actually meant as a PoC, but it works perfectly so let’s just merge
this…
Finishing up the needed changes

Also executed the acceptance tests successfully now.
helper/schema: track map element counts

This adds "field.#" values to the state/diff with the element count of a
map. This fixes a major issue around not knowing when child elements are
computed when doing variable access of a computed map.

Example, if you have a schema like this:

    "foo": &Schema{
        Type:     TypeMap,
        Computed: true,
    }

And you access it like this in a resource:

    ${type.name.foo.computed-field}

Then Terraform will error that "field foo could not be found on resource
type.name". By adding that "foo.#" is computed, Terraform core will pick
up that it WILL exist, so its okay.
helper/schema: remove unnecessary code
Merge pull request #676 from svanharmelen/f-fix-expand-bug

core: fix expand bug
Updated the code so it makes use of the available functionality

The `helper/schema` package already knows how to create a set from a
slice with set items. So let’s use that functionality…
Merge pull request #677 from svanharmelen/f-provider-aws-fix-route53-toggling

provider/aws: fixing the flipflop problem for the aws_route53 resource
Updating the resource to use a set instead of a list

By using a set for the availability zones, you can use things like
`availability_zones = ["${aws_instance.web.*.availability_zone}"]`
where is very likely multiple of the same zones will be added to the
set. If you use a list here, the list will say it’s changed (even if
you add the same zone) which will force a new resource.
Merge pull request #680 from svanharmelen/f-provider/aws-update-aws-elb-resource

provider/aws: updating the resource to use a set instead of a list
Adding a small fix to the Same() func

This is a little tricky, but when a diff contains a computed list or
set that can only be interpolated after the apply command has created
the dependant resources, it could turn out that the result is actually
the same as the existing state which would remove the key from the diff
Merge pull request #681 from svanharmelen/f-core-fix-diffing-diffs

core: adding a small fix to the Same() func (diffing diffs)
Updating the tests and refactoring the code a little

There was an error in the goamz package the prevented updating the
availability zones correctly. So PR #181 should be merged before this
one can be merged…
terraform: module input to another module doesn't error [GH-659]
terraform: update comment
helper/schema: test pass from SvH
Merge pull request #678 from hashicorp/track-map-element-count

helper/schema: track map element counts
Merge pull request #682 from svanharmelen/f-provider/aws-fix-tests

provider/aws: updating the tests and refactoring the code a little
update CHANGELOG
Adding a test for the change in PR #681

Should have already done that together with that PR…