diff --git a/builtin/providers/cloudstack/resource_cloudstack_vpc.go b/builtin/providers/cloudstack/resource_cloudstack_vpc.go
index <HASH>..<HASH> 100644
--- a/builtin/providers/cloudstack/resource_cloudstack_vpc.go
+++ b/builtin/providers/cloudstack/resource_cloudstack_vpc.go
@@ -161,7 +161,10 @@ func resourceCloudStackVPCRead(d *schema.ResourceData, meta interface{}) error {
 	p := cs.Address.NewListPublicIpAddressesParams()
 	p.SetVpcid(d.Id())
 	p.SetIssourcenat(true)
-	p.SetProjectid(v.Projectid)
+	if project, ok := d.GetOk("project"); ok {
+    	p.SetProjectid(v.Projectid)
+	}
+	
 	l, e := cs.Address.ListPublicIpAddresses(p)
 	if (e == nil) && (l.Count == 1) {
 		d.Set("source_nat_ip", l.PublicIpAddresses[0].Ipaddress)
Only set projectID if it is set