diff -ur ../kdepimlibs-4.14.3-orig/kcal/icalformat_p.cpp ./kcal/icalformat_p.cpp
--- ../kdepimlibs-4.14.3-orig/kcal/icalformat_p.cpp	2014-11-05 06:19:27.000000000 +0900
+++ ./kcal/icalformat_p.cpp	2019-11-05 22:27:58.000000000 +0900
@@ -2087,7 +2087,6 @@
   t.second = 0;
 
   t.is_date = 1;
-  t.is_utc = 0;
   t.zone = 0;
 
   return t;
@@ -2107,7 +2106,6 @@
 
   t.is_date = 0;
   t.zone = 0;   // zone is NOT set
-  t.is_utc = datetime.isUtc() ? 1 : 0;
 
   // _dumpIcaltime( t );
 
@@ -2174,7 +2172,7 @@
   }
 
   KTimeZone ktz;
-  if ( !t.is_utc ) {
+  if ( !icaltime_is_utc(t) ) {
     ktz = dt.timeZone();
   }
 
@@ -2207,7 +2205,7 @@
 //  _dumpIcaltime( t );
 
   KDateTime::Spec timeSpec;
-  if ( t.is_utc  ||  t.zone == icaltimezone_get_utc_timezone() ) {
+  if ( icaltime_is_utc(t) ||  t.zone == icaltimezone_get_utc_timezone() ) {
     timeSpec = KDateTime::UTC;   // the time zone is UTC
     utc = false;    // no need to convert to UTC
   } else {
diff -ur ../kdepimlibs-4.14.3-orig/kcal/icaltimezones.cpp ./kcal/icaltimezones.cpp
--- ../kdepimlibs-4.14.3-orig/kcal/icaltimezones.cpp	2014-11-05 06:19:27.000000000 +0900
+++ ./kcal/icaltimezones.cpp	2019-11-05 22:32:03.000000000 +0900
@@ -50,7 +50,7 @@
 {
   return QDateTime( QDate( t.year, t.month, t.day ),
                     QTime( t.hour, t.minute, t.second ),
-                    ( t.is_utc ? Qt::UTC : Qt::LocalTime ) );
+                    ( icaltime_is_utc(t) ? Qt::UTC : Qt::LocalTime ) );
 }
 
 // Maximum date for time zone data.
@@ -77,7 +77,6 @@
   t.second = local.time().second();
   t.is_date = 0;
   t.zone = 0;
-  t.is_utc = 0;
   return t;
 }
 
@@ -787,7 +786,7 @@
     case ICAL_LASTMODIFIED_PROPERTY:
     {
       icaltimetype t = icalproperty_get_lastmodified(p);
-      if ( t.is_utc ) {
+      if ( icaltime_is_utc(t) ) {
         data->d->lastModified = toQDateTime( t );
       } else {
         kDebug() << "LAST-MODIFIED not UTC";
@@ -972,7 +971,6 @@
   // Convert DTSTART to QDateTime, and from local time to UTC
   QDateTime localStart = toQDateTime( dtstart );   // local time
   dtstart.second -= prevOffset;
-  dtstart.is_utc = 1;
   QDateTime utcStart = toQDateTime( icaltime_normalize( dtstart ) );   // UTC
 
   transitions += utcStart;
@@ -999,13 +997,11 @@
           t.minute = dtstart.minute;
           t.second = dtstart.second;
           t.is_date = 0;
-          t.is_utc = 0;    // dtstart is in local time
         }
         // RFC2445 states that RDATE must be in local time,
         // but we support UTC as well to be safe.
-        if ( !t.is_utc ) {
+        if ( !icaltime_is_utc(t) ) {
           t.second -= prevOffset;    // convert to UTC
-          t.is_utc = 1;
           t = icaltime_normalize( t );
         }
         transitions += toQDateTime( t );
diff -ur ../kdepimlibs-4.14.3-orig/kcalcore/icalformat_p.cpp ./kcalcore/icalformat_p.cpp
--- ../kdepimlibs-4.14.3-orig/kcalcore/icalformat_p.cpp	2014-11-05 06:19:27.000000000 +0900
+++ ./kcalcore/icalformat_p.cpp	2019-11-05 22:21:21.000000000 +0900
@@ -2301,7 +2301,6 @@
     t.second = 0;
 
     t.is_date = 1;
-    t.is_utc = 0;
     t.zone = 0;
 
     return t;
@@ -2323,7 +2322,6 @@
         t.second = datetime.time().second();
     }
     t.zone = 0;   // zone is NOT set
-    t.is_utc = datetime.isUtc() ? 1 : 0;
 
     // _dumpIcaltime( t );
 
@@ -2398,7 +2396,7 @@
     }
 
     KTimeZone ktz;
-    if (!t.is_utc) {
+    if (!icaltime_is_utc(t)) {
         ktz = dt.timeZone();
     }
 
@@ -2431,7 +2429,7 @@
 //  _dumpIcaltime( t );
 
     KDateTime::Spec timeSpec;
-    if (t.is_utc  ||  t.zone == icaltimezone_get_utc_timezone()) {
+    if (icaltime_is_utc(t)  ||  t.zone == icaltimezone_get_utc_timezone()) {
         timeSpec = KDateTime::UTC;   // the time zone is UTC
         utc = false;    // no need to convert to UTC
     } else {
diff -ur ../kdepimlibs-4.14.3-orig/kcalcore/icaltimezones.cpp ./kcalcore/icaltimezones.cpp
--- ../kdepimlibs-4.14.3-orig/kcalcore/icaltimezones.cpp	2014-11-05 06:19:27.000000000 +0900
+++ ./kcalcore/icaltimezones.cpp	2019-11-05 22:20:58.000000000 +0900
@@ -54,7 +54,7 @@
 {
     return QDateTime(QDate(t.year, t.month, t.day),
                      QTime(t.hour, t.minute, t.second),
-                     (t.is_utc ? Qt::UTC : Qt::LocalTime));
+                     (icaltime_is_utc(t) ? Qt::UTC : Qt::LocalTime));
 }
 
 // Maximum date for time zone data.
@@ -81,7 +81,6 @@
     t.second = local.time().second();
     t.is_date = 0;
     t.zone = 0;
-    t.is_utc = 0;
     return t;
 }
 
@@ -886,7 +885,7 @@
         case ICAL_LASTMODIFIED_PROPERTY:
         {
             const icaltimetype t = icalproperty_get_lastmodified(p);
-            if (t.is_utc) {
+            if (icaltime_is_utc(t)) {
                 data->d->lastModified = toQDateTime(t);
             } else {
                 kDebug() << "LAST-MODIFIED not UTC";
@@ -1259,7 +1258,6 @@
     // Convert DTSTART to QDateTime, and from local time to UTC
     const QDateTime localStart = toQDateTime(dtstart);     // local time
     dtstart.second -= prevOffset;
-    dtstart.is_utc = 1;
     const QDateTime utcStart = toQDateTime(icaltime_normalize(dtstart));       // UTC
 
     transitions += utcStart;
@@ -1286,13 +1284,11 @@
                     t.minute = dtstart.minute;
                     t.second = dtstart.second;
                     t.is_date = 0;
-                    t.is_utc = 0;    // dtstart is in local time
                 }
                 // RFC2445 states that RDATE must be in local time,
                 // but we support UTC as well to be safe.
-                if (!t.is_utc) {
+                if (!icaltime_is_utc(t)) {
                     t.second -= prevOffset;    // convert to UTC
-                    t.is_utc = 1;
                     t = icaltime_normalize(t);
                 }
                 transitions += toQDateTime(t);
