diff --git a/domain_theme/domain_theme.module b/domain_theme/domain_theme.module
index e369bab..dc9be1d 100644
--- a/domain_theme/domain_theme.module
+++ b/domain_theme/domain_theme.module
@@ -72,6 +72,39 @@ function domain_theme_set_variables($theme) {
 }
 
 /**
+ * Gets the 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) {
+  $cache = &drupal_static(__FUNCTION__, array());
+
+  if (is_null($domain_id)) {
+    $domain = domain_get_domain();
+    $domain_id = $domain['domain_id’];
+  }
+  if (!isset($cache[$domain_id][$theme])) {
+    $theme_data = domain_theme_lookup($domain_id, $theme);
+    if (!empty($theme_data['settings'])) {
+      $cache[$domain_id][$theme] = unserialize($theme_data['settings']);
+    }
+  }
+  if (isset($cache[$domain_id][$theme][$setting])) {
+    return $cache[$domain_id][$theme][$setting];
+  }
+
+  return theme_get_setting($setting, $theme);
+}
+
+/**
  * Implements hook_menu()
  */
 function domain_theme_menu() {
