diff --git a/changes/bug-15642-default-fallback-default-dirs b/changes/bug-15642-default-fallback-default-dirs
new file mode 100644
index 0000000000000000000000000000000000000000..3864cf373cd71ff820a798a1bc4dfb0463271b27
--- /dev/null
+++ b/changes/bug-15642-default-fallback-default-dirs
@@ -0,0 +1,8 @@
+  o Minor bugfixes (configuration):
+    - Only add the default fallback directories when the DirAuthorities,
+      AlternateDirAuthority, and FallbackDir directory config options
+      are set to their defaults.
+      The default fallback directory list is empty, this fix will only
+      change tor's behaviour when it has default fallback directories.
+      Fixes bug 15642; bugfix on 90f6071d8dc0 in 0.2.4.7-alpha.
+      Patch by "teor".
diff --git a/src/or/config.c b/src/or/config.c
index d7444d52f6b73b71b271a775db80bd6410f78c03..d48d57f733dc663f50a88729760ac2a2badbb0dc 100644
--- a/src/or/config.c
+++ b/src/or/config.c
@@ -985,17 +985,22 @@ consider_adding_dir_servers(const or_options_t *options,
   if (!options->DirAuthorities) {
     /* then we may want some of the defaults */
     dirinfo_type_t type = NO_DIRINFO;
-    if (!options->AlternateBridgeAuthority)
+    if (!options->AlternateBridgeAuthority) {
       type |= BRIDGE_DIRINFO;
-    if (!options->AlternateDirAuthority)
+    }
+    if (!options->AlternateDirAuthority) {
       type |= V3_DIRINFO | EXTRAINFO_DIRINFO | MICRODESC_DIRINFO;
+      /* Only add the default fallback directories when the DirAuthorities,
+       * AlternateDirAuthority, and FallbackDir directory config options
+       * are set to their defaults. */
+      if (!options->FallbackDir)
+        add_default_fallback_dir_servers();
+    }
     /* if type == NO_DIRINFO, we don't want to add any of the
      * default authorities, because we've replaced them all */
     if (type != NO_DIRINFO)
       add_default_trusted_dir_authorities(type);
   }
-  if (!options->FallbackDir)
-    add_default_fallback_dir_servers();
 
   for (cl = options->DirAuthorities; cl; cl = cl->next)
     if (parse_dir_authority_line(cl->value, NO_DIRINFO, 0)<0)