diff --git a/calendar/resources/content/calendarOverlay.js b/calendar/resources/content/calendarOverlay.js
new file mode 100644
index 0000000000000000000000000000000000000000..7f97f688ccaa7fe530e689e5602ce352c0e2c432
--- /dev/null
+++ b/calendar/resources/content/calendarOverlay.js
@@ -0,0 +1,7 @@
+function openCalendar() 
+{
+
+	toOpenWindowByType("calendar", "chrome://calendar/content/calendar.xul");
+
+}
+
diff --git a/calendar/resources/content/calendarOverlay.xul b/calendar/resources/content/calendarOverlay.xul
new file mode 100644
index 0000000000000000000000000000000000000000..c26ab4ddaa7caa47551d069f88cc3294e5b33c5d
--- /dev/null
+++ b/calendar/resources/content/calendarOverlay.xul
@@ -0,0 +1,29 @@
+<?xml version="1.0"?>
+
+<!DOCTYPE window SYSTEM "chrome://calendar/locale/calendarOverlay.dtd" >
+
+<!-- This is the overlay that addes "Calendar" to the (global) task menu. -->
+
+<overlay id="CalendarTaskMenuID"
+         xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
+
+<script type="application/x-javascript" src="chrome://calendar/content/calendarOverlay.js"/>
+
+<keyset id="tasksKeys">
+  <key id="key_calendar"  key="&calendarCmd.commandkey;" command="Tasks:Calendar" modifiers="accel"/>
+</keyset>
+
+<commandset id="tasksCommands">
+  <command id="Tasks:Calendar" oncommand="openCalendar();"/>
+</commandset>
+
+<menupopup id="taskPopup">
+  <menuitem
+        position="3"
+        label="&calendarCmd.label;"
+        accesskey="&calendarCmd.accesskey;"
+        key="key_calendar"
+        command="Tasks:Calendar"/>
+</menupopup>
+
+</overlay>
diff --git a/calendar/resources/content/contents.rdf b/calendar/resources/content/contents.rdf
index 7d14840ea12312ae8054f22263c9788ec1e86524..322834c14ab207f269435032dd0fdbcc264502bf 100644
--- a/calendar/resources/content/contents.rdf
+++ b/calendar/resources/content/contents.rdf
@@ -47,4 +47,14 @@
         chrome:author="OEOne Corp."
         chrome:name="calendar">
 </RDF:Description>
+
+  <!-- overlay information -->
+  <RDF:Seq about="urn:mozilla:overlays">
+    <RDF:li resource="chrome://communicator/content/tasksOverlay.xul"/>
+  </RDF:Seq>
+
+  <RDF:Seq about="chrome://communicator/content/tasksOverlay.xul">
+    <RDF:li>chrome://calendar/content/calendarOverlay.xul</RDF:li>
+  </RDF:Seq>
+
 </RDF:RDF>
diff --git a/calendar/resources/jar.mn b/calendar/resources/jar.mn
index bc095ea7bdbf9b1c158edf2994c68c807501f30b..6eadd3aeb60d5e0a46aa85563d4da260aaaa79ea 100644
--- a/calendar/resources/jar.mn
+++ b/calendar/resources/jar.mn
@@ -137,6 +137,8 @@ calendar.jar:
     content/calendar/calendarFolderDialog.xul (content/calendarFolderDialog.xul)
     content/calendar/calendarMonthView.js (content/calendarMonthView.js)
     content/calendar/calendarMonthView.xul (content/calendarMonthView.xul)
+    content/calendar/calendarOverlay.xul (content/calendarOverlay.xul) 
+    content/calendar/calendarOverlay.js  (content/calendarOverlay.js)
     content/calendar/calendarWeekView.js (content/calendarWeekView.js)
     content/calendar/calendarWeekView.xul (content/calendarWeekView.xul)
     content/calendar/categories.js (content/categories.js)
@@ -149,6 +151,7 @@ calendar.jar:
     content/calendar/test/testCalendarEvent.js (content/test/testCalendarEvent.js)
     content/calendar/test/testCalendarEvent.xul (content/test/testCalendarEvent.xul)
     locale/en-US/calendar/calendar.dtd (locale/en-US/calendar.dtd)
+    locale/en-US/calendar/calendarOverlay.dtd  (locale/en-US/calendarOverlay.dtd) 
     locale/en-US/calendar/contents.rdf (locale/en-US/contents.rdf)
     skin/modern/calendar/ca-event-dialog/background_with_border.png (skin/modern/ca-event-dialog/background_with_border.png)
     skin/modern/calendar/ca-event-dialog/calendar_disabled.png (skin/modern/ca-event-dialog/calendar_disabled.png)
diff --git a/calendar/resources/locale/en-US/calendarOverlay.dtd b/calendar/resources/locale/en-US/calendarOverlay.dtd
new file mode 100644
index 0000000000000000000000000000000000000000..d6a612456d9801524ca9ea336798d64815603e48
--- /dev/null
+++ b/calendar/resources/locale/en-US/calendarOverlay.dtd
@@ -0,0 +1,3 @@
+<!ENTITY calendarCmd.label	"Calendar">  
+<!ENTITY calendarCmd.accesskey	"r">  
+<!ENTITY calendarCmd.commandkey	"6">  
diff --git a/calendar/resources/locale/en-US/overlay.dtd b/calendar/resources/locale/en-US/overlay.dtd
new file mode 100644
index 0000000000000000000000000000000000000000..d6a612456d9801524ca9ea336798d64815603e48
--- /dev/null
+++ b/calendar/resources/locale/en-US/overlay.dtd
@@ -0,0 +1,3 @@
+<!ENTITY calendarCmd.label	"Calendar">  
+<!ENTITY calendarCmd.accesskey	"r">  
+<!ENTITY calendarCmd.commandkey	"6">