diff --git a/planetstack/core/models/node.py b/planetstack/core/models/node.py
index 0884ec1..94f93a5 100644
--- a/planetstack/core/models/node.py
+++ b/planetstack/core/models/node.py
@@ -1,7 +1,7 @@
 import os
 from django.db import models
 from core.models import PlCoreBase
-from core.models import SiteDeployment
+from core.models import Site, SiteDeployment
 from core.models import Tag
 from django.contrib.contenttypes import generic
 
@@ -10,7 +10,13 @@
 class Node(PlCoreBase):
     name = models.CharField(max_length=200, unique=True, help_text="Name of the Node")
     site_deployment = models.ForeignKey(SiteDeployment, related_name='nodes')
+    site = models.ForeignKey(Site, null=True, blank=True, related_name='nodes')
     tags = generic.GenericRelation(Tag)
 
     def __unicode__(self):  return u'%s' % (self.name)
 
+    def save(self, *args, **kwds):
+        if self.site is None and self.site_deployment is not None:
+            self.site = self.site_deployment.site
+
+        super(Node, self).save(*args, **kwds)
