diff --git a/src/com/android/timezonepicker/TimeZoneInfo.java b/src/com/android/timezonepicker/TimeZoneInfo.java
index 9d302eb..6b883c9 100644
--- a/src/com/android/timezonepicker/TimeZoneInfo.java
+++ b/src/com/android/timezonepicker/TimeZoneInfo.java
@@ -46,7 +46,7 @@
     TimeZone mTz;
     public String mTzId;
     int mRawoffset;
-    public int[] mTransitions; // may have trailing 0's.
+    public long[] mTransitions; // may have trailing 0's.
     public String mCountry;
     public int groupId;
     public String mDisplayName;
@@ -194,15 +194,15 @@
         return displayName;
     }
 
-    private static int[] getTransitions(TimeZone tz, long time)
+    private static long[] getTransitions(TimeZone tz, long time)
             throws IllegalAccessException, NoSuchFieldException {
         Class<?> zoneInfoClass = tz.getClass();
         Field mTransitionsField = zoneInfoClass.getDeclaredField("mTransitions");
         mTransitionsField.setAccessible(true);
-        int[] objTransitions = (int[]) mTransitionsField.get(tz);
-        int[] transitions = null;
+        long[] objTransitions = (long[]) mTransitionsField.get(tz);
+        long[] transitions = null;
         if (objTransitions.length != 0) {
-            transitions = new int[NUM_OF_TRANSITIONS];
+            transitions = new long[NUM_OF_TRANSITIONS];
             int numOfTransitions = 0;
             for (int i = 0; i < objTransitions.length; ++i) {
                 if (objTransitions[i] < time) {
