diff --git a/chrome/browser/dom_ui/options/personal_options_handler.cc b/chrome/browser/dom_ui/options/personal_options_handler.cc
index 4c776b9af030e6f7371a9e2d631edc8d3fc735ae..8eb86e7555ad06e3ba458114531ccd5ae61b965b 100644
--- a/chrome/browser/dom_ui/options/personal_options_handler.cc
+++ b/chrome/browser/dom_ui/options/personal_options_handler.cc
@@ -89,6 +89,11 @@ void PersonalOptionsHandler::GetLocalizedValues(
   localized_strings->SetString("import_data",
       l10n_util::GetStringUTF16(IDS_OPTIONS_IMPORT_DATA_BUTTON));
 
+  localized_strings->SetString("themes_gallery",
+      l10n_util::GetStringUTF16(IDS_THEMES_GALLERY_BUTTON));
+  localized_strings->SetString("themes_gallery_url",
+      l10n_util::GetStringUTF16(IDS_THEMES_GALLERY_URL));
+
 #if defined(TOOLKIT_GTK)
   localized_strings->SetString("appearance",
       l10n_util::GetStringUTF16(IDS_APPEARANCE_GROUP_NAME));
@@ -100,15 +105,11 @@ void PersonalOptionsHandler::GetLocalizedValues(
       l10n_util::GetStringUTF16(IDS_SHOW_WINDOW_DECORATIONS_RADIO));
   localized_strings->SetString("hideWindow_decorations_radio",
       l10n_util::GetStringUTF16(IDS_HIDE_WINDOW_DECORATIONS_RADIO));
-  localized_strings->SetString("themes_gallery",
-      l10n_util::GetStringUTF16(IDS_THEMES_GALLERY_BUTTON));
 #else
   localized_strings->SetString("themes",
       l10n_util::GetStringUTF16(IDS_THEMES_GROUP_NAME));
   localized_strings->SetString("themes_reset",
       l10n_util::GetStringUTF16(IDS_THEMES_RESET_BUTTON));
-  localized_strings->SetString("themes_gallery",
-      l10n_util::GetStringUTF16(IDS_THEMES_GALLERY_BUTTON));
   localized_strings->SetString("themes_default",
       l10n_util::GetStringUTF16(IDS_THEMES_DEFAULT_THEME_LABEL));
 #endif
@@ -119,16 +120,9 @@ void PersonalOptionsHandler::RegisterMessages() {
   dom_ui_->RegisterMessageCallback(
       "showSyncLoginDialog",
       NewCallback(this, &PersonalOptionsHandler::ShowSyncLoginDialog));
-  dom_ui_->RegisterMessageCallback(
-      "openPrivacyDashboardTabAndActivate",
-      NewCallback(this,
-                  &PersonalOptionsHandler::OpenPrivacyDashboardTabAndActivate));
   dom_ui_->RegisterMessageCallback(
       "themesReset",
       NewCallback(this, &PersonalOptionsHandler::ThemesReset));
-  dom_ui_->RegisterMessageCallback(
-      "themesGallery",
-      NewCallback(this, &PersonalOptionsHandler::ThemesGallery));
 #if defined(TOOLKIT_GTK)
   dom_ui_->RegisterMessageCallback(
       "themesSetGTK",
@@ -279,21 +273,11 @@ void PersonalOptionsHandler::ShowSyncLoginDialog(const ListValue* args) {
   ProfileSyncService::SyncEvent(ProfileSyncService::START_FROM_OPTIONS);
 }
 
-void PersonalOptionsHandler::OpenPrivacyDashboardTabAndActivate(
-    const ListValue* args) {
-  BrowserList::GetLastActive()->OpenPrivacyDashboardTabAndActivate();
-}
-
 void PersonalOptionsHandler::ThemesReset(const ListValue* args) {
   UserMetricsRecordAction(UserMetricsAction("Options_ThemesReset"));
   dom_ui_->GetProfile()->ClearTheme();
 }
 
-void PersonalOptionsHandler::ThemesGallery(const ListValue* args) {
-  UserMetricsRecordAction(UserMetricsAction("Options_ThemesGallery"));
-  BrowserList::GetLastActive()->OpenThemeGalleryTabAndActivate();
-}
-
 #if defined(TOOLKIT_GTK)
 void PersonalOptionsHandler::ThemesSetGTK(const ListValue* args) {
   UserMetricsRecordAction(UserMetricsAction("Options_GtkThemeSet"));
diff --git a/chrome/browser/dom_ui/options/personal_options_handler.h b/chrome/browser/dom_ui/options/personal_options_handler.h
index 6c6f0806423f01d0f8c177afd2ca536d193bce9d..8ee364938c47b9dd060241471816a434afd1855d 100644
--- a/chrome/browser/dom_ui/options/personal_options_handler.h
+++ b/chrome/browser/dom_ui/options/personal_options_handler.h
@@ -36,9 +36,7 @@ class PersonalOptionsHandler : public OptionsPageUIHandler,
  private:
   void ObserveThemeChanged();
   void ShowSyncLoginDialog(const ListValue* args);
-  void OpenPrivacyDashboardTabAndActivate(const ListValue* args);
   void ThemesReset(const ListValue* args);
-  void ThemesGallery(const ListValue* args);
 #if defined(TOOLKIT_GTK)
   void ThemesSetGTK(const ListValue* args);
 #endif
diff --git a/chrome/browser/resources/options/personal_options.html b/chrome/browser/resources/options/personal_options.html
index 5988915d5fb77dd8ece624d64bca70d47e76b7b7..56053479b0e12d4f82c97052081407d7e0d5a3f3 100644
--- a/chrome/browser/resources/options/personal_options.html
+++ b/chrome/browser/resources/options/personal_options.html
@@ -26,8 +26,8 @@
         <button id="start-stop-sync"></button>
         <button id="customize-sync""></button>
       </div>
-      <button id="privacy-dashboard-link" class="link-button"
-          i18n-content="privacy_dashboard_link"></button>
+      <a href="https://www.google.com/dashboard" id="privacy-dashboard-link"
+          i18n-content="privacy_dashboard_link" target="_blank"></a>
     </div>
   </section>
   <section>
@@ -74,7 +74,8 @@
             i18n-content="themes_GTK_button"></button>
         <button id="themes_set_classic"
             i18n-content="themes_set_classic"></button>
-        <a i18n-content="themes_gallery" id="themes-gallery" href="#"></a>
+        <a id="themes-gallery" i18n-content="themes_gallery"
+            i18n-values="href:themes_gallery_url" target="_blank"></a>
       </div>
       <label class="radio">
         <input name="decorations_radio"
@@ -96,7 +97,8 @@
     <h3 i18n-content="themes"></h3>
     <div>
       <button id="themes_reset" i18n-content="themes_reset"></button>
-      <a i18n-content="themes_gallery" id="themes-gallery" href="#"></a>
+      <a id="themes-gallery" i18n-content="themes_gallery"
+          i18n-values="href:themes_gallery_url" target="_blank"></a>
     </div>
   </section>
 </if>
diff --git a/chrome/browser/resources/options/personal_options.js b/chrome/browser/resources/options/personal_options.js
index f32e875d2e9094dfb2c674181af42dcd8cc2c6c3..3631d405546ef2ddca49aae1c5e04cc477874c99 100644
--- a/chrome/browser/resources/options/personal_options.js
+++ b/chrome/browser/resources/options/personal_options.js
@@ -73,18 +73,12 @@ cr.define('options', function() {
         $('themes_set_classic').onclick = function(event) {
           chrome.send('themesReset');
         };
-        $('themes-gallery').onclick = function(event) {
-          chrome.send('themesGallery');
-        }
       }
 
       if (cr.isMac || cr.isWindows || cr.isChromeOS) {
         $('themes_reset').onclick = function(event) {
           chrome.send('themesReset');
         };
-        $('themes-gallery').onclick = function(event) {
-          chrome.send('themesGallery');
-        }
       }
 
       if (cr.isChromeOS) {