diff --git a/mozilla/browser/base/content/contentAreaUtils.js b/mozilla/browser/base/content/contentAreaUtils.js
index 184b46d56aa..8f6d5d5abb0 100644
--- a/mozilla/browser/base/content/contentAreaUtils.js
+++ b/mozilla/browser/base/content/contentAreaUtils.js
@@ -61,8 +61,17 @@ function openNewTabWith(href, linkNode, event, securityCheck)
if (event && event.shiftKey)
loadInBackground = !loadInBackground;
+ // As in openNewWindowWith(), we want to pass the charset of the
+ // current document over to a new tab.
+ var wintype = document.firstChild.getAttribute('windowtype');
+ var originCharset;
+ if (wintype == "navigator:browser") {
+ originCharset = window._content.document.characterSet;
+ }
+
+ // open link in new tab
var browser = top.document.getElementById("content");
- var theTab = browser.addTab(href, getReferrer(document));
+ var theTab = browser.addTab(href, getReferrer(document), originCharset);
if (!loadInBackground)
browser.selectedTab = theTab;
diff --git a/mozilla/toolkit/content/widgets/browser.xml b/mozilla/toolkit/content/widgets/browser.xml
index 04d69bfb108..059d9b19fb6 100644
--- a/mozilla/toolkit/content/widgets/browser.xml
+++ b/mozilla/toolkit/content/widgets/browser.xml
@@ -110,11 +110,12 @@