--- gnome-panel-3.6.0/applets/clock/calendar-window.c	2013-03-15 00:02:42.735606276 -0700
+++ gnome-panel-3.6.0/applets/clock/calendar-window.c	2013-03-15 00:04:59.755601377 -0700
@@ -1286,21 +1286,34 @@
 	gtk_widget_set_size_request (widget, req.width, req_height);
 }
 
+#endif /* HAVE_LIBECAL */
+
 static void
 calendar_month_selected (GtkCalendar    *calendar,
 			 CalendarWindow *calwin)
 {
         guint year, month;
+		GDateTime *now;
 
         gtk_calendar_get_date (calendar, &year, &month, NULL);
 
+        now = g_date_time_new_now_local ();
+
+        if (month==(g_date_time_get_month (now)-1))
+			gtk_calendar_select_day (GTK_CALENDAR (calendar),
+					 g_date_time_get_day_of_month (now));
+		else
+			gtk_calendar_select_day (GTK_CALENDAR (calendar),
+					 0);
+
+
+#ifdef HAVE_LIBECAL
         calendar_client_select_month (calwin->priv->client, month, year);
 
         handle_appointments_changed (calwin);
         handle_tasks_changed (calwin);
-}
-
 #endif /* HAVE_LIBECAL */
+}
 
 static void
 calendar_window_pack_pim (CalendarWindow *calwin,
@@ -1401,11 +1414,11 @@
 			  "day-selected",
 			  G_CALLBACK (calendar_day_selected),
 			  calwin);
+#endif /* HAVE_LIBECAL */
         g_signal_connect (calwin->priv->calendar,
 			  "month-changed",
 			  G_CALLBACK (calendar_month_selected),
 			  calwin);
-#endif /* HAVE_LIBECAL */
 }
 
 static GtkWidget *
