diff --git a/tests/fixtures/config/base-jobs/git/common-config/zuul.yaml b/tests/fixtures/config/base-jobs/git/common-config/zuul.yaml
index 0603d23..4cef200 100644
--- a/tests/fixtures/config/base-jobs/git/common-config/zuul.yaml
+++ b/tests/fixtures/config/base-jobs/git/common-config/zuul.yaml
@@ -16,7 +16,7 @@
     parent: null
     tags:
       - mybase
-    
+
 - job:
     name: other-base
     parent: null
diff --git a/zuul/configloader.py b/zuul/configloader.py
index 0ecbc14..339562a 100644
--- a/zuul/configloader.py
+++ b/zuul/configloader.py
@@ -444,13 +444,21 @@
         is_variant = layout.hasJob(conf['name'])
         if 'parent' in conf:
             if conf['parent'] is not None:
+                # Parent job is explicitly specified, so inherit from it.
                 parent = layout.getJob(conf['parent'])
                 job.inheritFrom(parent)
             else:
+                # Parent is explicitly set as None, so user intends
+                # this to be a base job.  That's only okay if we're in
+                # a config project.
                 if not conf['_source_context'].trusted:
                     raise Exception(
                         "Base jobs must be defined in config projects")
         else:
+            # Parent is not explicitly set, so inherit from the
+            # default -- but only if this is the primary definition
+            # for the job (ie, not a variant -- variants don't need to
+            # have a parent as long as the main job does).
             if not is_variant:
                 parent = layout.getJob(tenant.default_base_job)
                 job.inheritFrom(parent)
