b8fa79
diff -up at-3.1.13/parsetime.y.dst at-3.1.13/parsetime.y
b8fa79
--- at-3.1.13/parsetime.y.dst	2011-06-25 14:43:14.000000000 +0200
b8fa79
+++ at-3.1.13/parsetime.y	2016-04-20 17:23:24.140171655 +0200
b8fa79
@@ -476,8 +476,8 @@ parsetime(time_t currtime, int argc, cha
b8fa79
     exectm = *localtime(&currtime);
b8fa79
     currtime -= exectm.tm_sec;
b8fa79
     exectm.tm_sec = 0;
b8fa79
-    exectm.tm_isdst = -1;
b8fa79
     memcpy(&currtm,&exectm,sizeof(currtm));
b8fa79
+    exectm.tm_isdst = -1;
b8fa79
     time_only = 0;
b8fa79
     yearspec = 0;
b8fa79
 
b8fa79
@@ -503,8 +503,8 @@ parsetime(time_t currtime, int argc, cha
b8fa79
 	    return 0;
b8fa79
 	if (isgmt) {
b8fa79
 	    exectime -= timezone;
b8fa79
-	    if (currtm.tm_isdst && !exectm.tm_isdst)
b8fa79
-		exectime -= 3600;
b8fa79
+	    if (exectm.tm_isdst)
b8fa79
+		exectime += 3600;
b8fa79
 	}
b8fa79
 	if (exectime < currtime)
b8fa79
 		panic("refusing to create job destined in the past");