The Domain module was in fact responsible for this. I moved `include './sites/all/modules/domain/settings.inc';` to the very end of my `settings.php` file and everything started working. I then added the following code to ensure a different cache_prefix for each of the domains. $thishost = $_SERVER['HTTP_HOST']; $site_arr = explode('.', $thishost); $sitename = $site_arr[1] . '_'; $conf['cache_prefix'] = $sitename; Credit for that code goes to http://drupal.stackexchange.com/questions/53718/drupal-6-apc-with-domain-access-module-not-working-for-sub-domains. In fact, now that I look at that page again, I notice that he has the domain access include on the last time, too. Audible sigh. Don't know how I didn't notice that before. It also appears that if you want to move Domain's settings.inc to the bottom, you need to make a tweak to that file. Modify `modules/domain/settings.inc` so the `domain_settings_setup_ok` function looks like this: function domain_settings_setup_ok() { static $state = NULL; if ($state === NULL) { if (!empty($conf['cache_include'])) { $state = TRUE; } else { $state = !function_exists('cache_get'); } } return $state; } That is an adapted version of the patch for D7 discussed at https://drupal.org/node/1240472.