diff --git a/xos/core/admin.py b/xos/core/admin.py
index 41dfa9b..b68b398 100644
--- a/xos/core/admin.py
+++ b/xos/core/admin.py
@@ -1203,6 +1203,7 @@
 
 class NodeForm(forms.ModelForm):
     class Meta:
+        model = Node
         widgets = {
             'site': LinkedSelect,
             'deployment': LinkedSelect
@@ -1215,7 +1216,7 @@
     list_filter = ('site_deployment',)
 
     inlines = [TagInline,InstanceInline]
-    fieldsets = [('Node Details', {'fields': ['backend_status_text', 'name','site_deployment'], 'classes':['suit-tab suit-tab-details']})]
+    fieldsets = [('Node Details', {'fields': ['backend_status_text', 'name', 'site_deployment'], 'classes':['suit-tab suit-tab-details']})]
     readonly_fields = ('backend_status_text', )
 
     user_readonly_fields = ['name','site_deployment']
@@ -1227,6 +1228,10 @@
         if db_field.name == 'site':
             kwargs['queryset'] = Site.select_by_user(request.user).filter(hosts_nodes=True)
 
+        field = super(NodeAdmin, self).formfield_for_foreignkey(db_field, request, **kwargs)
+
+        return field
+
 class InstanceForm(forms.ModelForm):
     class Meta:
         model = Instance
