diff --git a/domain_theme/domain_theme.admin.inc b/domain_theme/domain_theme.admin.inc
index d67316b..7876c61 100644
--- a/domain_theme/domain_theme.admin.inc
+++ b/domain_theme/domain_theme.admin.inc
@@ -127,10 +127,12 @@ function domain_theme_form_submit($form, &$form_state) {
   }
   // Return to the correct page.
   $form_state['redirect'] = 'admin/structure/domain/view/' . $domain_id . '/theme';
   // Clear the cache.
   cache_clear_all();
+  // Clear our static variables
+  drupal_static_reset('domain_theme_get_settings');
 }
 
 /**
  * FormsAPI theming.
  */
@@ -200,10 +202,12 @@ function domain_theme_reset_form_submit($form, &$form_state) {
     ->execute();
   drupal_set_message(t('Domain theme settings have been reset.'));
   $form_state['redirect'] = 'admin/structure/domain/view/' . $form_state['values']['domain_id'] . '/theme';
   // Clear the cache.
   cache_clear_all();
+  // Clear our static variables
+  drupal_static_reset('domain_theme_get_settings');
 }
 
 /**
  * Theme a message at the top of domain theme pages.
  *
@@ -331,10 +335,12 @@ function domain_theme_settings_submit($form, &$form_state) {
       ->execute();
     drupal_set_message(t('%theme has been set as the default theme for %domain', array('%theme' => $theme, '%domain' => $domain['sitename'])));
   }
   // Clear the cache.
   cache_clear_all();
+  // Clear our static variables
+  drupal_static_reset('domain_theme_get_settings');
   // Finish processing the form.
   drupal_set_message(t('The configuration options have been saved.'));
   $form_state['redirect'] = 'admin/structure/domain/view/' . $domain_id . '/theme';
 }
 
diff --git a/domain_theme/domain_theme.module b/domain_theme/domain_theme.module
index 9aa8128..be84246 100644
--- a/domain_theme/domain_theme.module
+++ b/domain_theme/domain_theme.module
@@ -70,10 +70,76 @@ function domain_theme_set_variables($theme) {
     }
   }
 }
 
 /**
+ * Gets a domain specific theme setting for a theme.
+ *
+ * @param $setting
+ *   The name of the setting to retrieve.
+ * @param $theme
+ *   Optional theme name. If not passed, the active theme is used.
+ * @param $domain_id
+ *   Optional domain_id. If not passed, the active domain is used.
+ *
+ * @return
+ *   The setting value for the requested theme.
+ */
+ function domain_theme_get_setting($setting, $theme = NULL, $domain_id = NULL) {
+  $settings = domain_theme_get_settings($theme, $domain_id);
+  // return either the cached setting, or the default
+  return (isset($settings[$setting]))
+    ? $settings[$setting]
+    : theme_get_setting($setting, $theme);
+}
+
+/**
+ * Gets the domain specific theme settings for a theme.
+ *
+ * @param $theme
+ *   Optional theme name. If not passed, the active theme is used.
+ * @param $domain_id
+ *   Optional domain_id. If not passed, the active domain is used.
+ *
+ * @return
+ *   The setting value for the requested theme.
+ */
+ function domain_theme_get_settings($theme = NULL, $domain_id = NULL) {
+  $cache = &drupal_static(__FUNCTION__, array());
+  if (is_null($domain_id)) {
+    $domain = domain_get_domain();
+    $domain_id = $domain['domain_id'];
+  }
+
+  $active_theme = is_null($theme);
+  if ($active_theme) {
+    // if we know the domain's active theme key, use it
+    if (isset($cache[$domain_id]['#active'])) {
+      $theme = $cache[$domain_id]['#active'];
+    }
+  }
+
+  // retrieve settings from the db, if theme is unknown, or if not yet cached
+  if (is_null($theme) || (!isset($cache[$domain_id][$theme]))) {
+    $theme_data = domain_theme_lookup($domain_id, $theme);
+    // remember the active theme key
+    if ($active_theme) {
+      $theme = $cache[$domain_id]['#active'] = $theme_data['theme'];
+    }
+    // unserialize, and remove unneeded info from memory
+    $settings = domain_unserialize($theme_data['settings']);
+    unset($settings['info']);
+    // store the data in our static
+    $cache[$domain_id][$theme] = $settings;
+  }
+
+  // return either the cached setting, or the default
+  return $cache[$domain_id][$theme];
+
+}
+
+/**
  * Implements hook_menu()
  */
 function domain_theme_menu() {
   $items = array();
   // Menu items for configuring themes.
