diff --git a/lib/roadworker/client.rb b/lib/roadworker/client.rb
index <HASH>..<HASH> 100644
--- a/lib/roadworker/client.rb
+++ b/lib/roadworker/client.rb
@@ -63,8 +63,8 @@ module Roadworker
     end
 
     def walk_hosted_zones(dsl)
-      expected = collection_to_hash(dsl.hosted_zones) {|i| [normalize_name(i.name), i.vpcs.empty?] }
-      actual   = collection_to_hash(@route53.hosted_zones) {|i| [normalize_name(i.name), i.vpcs.empty?] }
+      expected = collection_to_hash(dsl.hosted_zones) {|i| [normalize_name(i.name), i.vpcs.map(&:vpc_id)] }
+      actual   = collection_to_hash(@route53.hosted_zones) {|i| [normalize_name(i.name), i.vpcs.map(&:vpc_id)] }
 
       expected.each do |keys, expected_zone|
         name = keys[0]
Deal with zones with the same name associated to different VPCs correctly

- i.vpcs.empty? just means whether it's assocaited to a VPC
- Zones bound to different VPCs should be dealt as different zones