diff --git a/videos/forms.py b/videos/forms.py
index 2ab937b50a31153c48c8497c3b3352a8e02eecd6..8a7e54ce39a52946bfe3f6441e1ea38a2558ab4b 100644
--- a/videos/forms.py
+++ b/videos/forms.py
@@ -70,6 +70,12 @@ class CourseForm(forms.ModelForm):
         del kwargs['request']
 
         forms.ModelForm.__init__(self, *args, **kwargs, initial = initial)
+
+        if 'instance' in kwargs and kwargs['instance'].term.archived:
+            self.fields['term'].disabled = True
+        else:
+            self.fields['term'].queryset = Term.objects.filter(archived=False)
+
         if not request.user.is_staff:
             self.fields['hidden'].disabled = True
             self.fields['owner'].disabled = True