--- date_timezones.inc	2008-10-04 15:23:19.000000000 -0400
+++ date_timezones.new.inc	2008-10-04 15:29:45.000000000 -0400
@@ -46,13 +46,54 @@ function date_is_dst($region, $timestamp
       // end of DST (October 1st)
       $dstend = strtotime("1 october $year GMT");
       break;
+
+	/* ugo - The below code for adjusting Israel's dst, is based on the events module. The following corrections were done to the original (events) code:
+	1. redundant $year was removed at dstend
+	2. +7200 since the change is at 2:00a.m.
+	3. The actual date put here is wrong - it's not the last saturday but the last sunday before 10th of tishray. see http://cgate.co.il/navigation/shaon_kaiz.htm. consequntly dates were updated as well.
+	*/
     case 5: // Israel
-      // start of DST (April 1st)
-      $dststart = strtotime("1 april $year GMT");
-      // end of DST (Saturday between Rosh Hashana (Oct. 4-5) and Yom Kippur (Oct. 13))
-      // these values are good for 2005/2006 only, hopefully a good gregorian <-> jewish conversion script can be implemented
-      $dstend = strtotime("-1 saturday $year GMT", strtotime("13 october $year GMT"));
+      // start of DST (last Friday befor April 2nd, 2am)
+      $dststart = strtotime("-1 week friday GMT", strtotime("2 april $year GMT")) + 7200;
+      // end of DST (Saturday between Rosh Hashana (Oct. 4-5) and Yom Kippur (Oct. 13) at 2 a.m.)
+      switch ($year) {
+        case '2007':
+          $dstend = strtotime("-1 sunday GMT", strtotime("16 september $year GMT"))+ 7200;
+          break;
+        case '2008':
+          $dstend = strtotime("-1 sunday GMT",strtotime("9 october $year GMT"))+7200;
+          break;
+        case '2009':
+          $dstend = strtotime("-1 sunday GMT", strtotime("28 september $year GMT"))+ 7200;
+          break;
+        case '2010':
+          $dstend = strtotime("-1 sunday GMT", strtotime("18 september $year GMT"))+ 7200;
+          break;
+        case '2011':
+          $dstend = strtotime("-1 sunday GMT", strtotime("8 october $year GMT"))+ 7200;
+          break;
+        case '2012':
+          $dstend = strtotime("-1 sunday GMT", strtotime("26 september $year GMT"))+ 7200;
+          break;
+        case '2013':
+          $dstend = strtotime("-1 sunday GMT", strtotime("14 september $year GMT"))+ 7200;
+          break;
+        case '2014':
+          $dstend = strtotime("-1 sunday GMT", strtotime("4 october $year GMT"))+ 7200;
+          break;
+        case '2015':
+          $dstend = strtotime("-1 sunday GMT", strtotime("23 september $year GMT"))+ 7200;
+          break;
+        case '2016':
+          $dstend = strtotime("-1 sunday GMT", strtotime("12 october $year GMT"))+ 7200;
+          break;
+        default:
+          // ugo - shout in case we passed 2016
+          echo 'daylight saving conversion failed - contact the system administrator (file:date_timezone.inc ; function:date_is_dst)';
+      }
+
       break;
+
     case 6: // Lebanon, Kirgizstan
       // start of DST (Last Sunday in March)
       $dststart = strtotime("-1 week sunday GMT", strtotime("1 april $year GMT"));
