diff --git a/src/com/android/contacts/ContactEntryAdapter.java b/src/com/android/contacts/ContactEntryAdapter.java
index 9f11165..34ee505 100644
--- a/src/com/android/contacts/ContactEntryAdapter.java
+++ b/src/com/android/contacts/ContactEntryAdapter.java
@@ -66,10 +66,11 @@
          * Helper for making subclasses parcelable.
          */
         protected void readFromParcel(Parcel p) {
+            final ClassLoader loader = getClass().getClassLoader();
             type = p.readInt();
             label = p.readString();
             data = p.readString();
-            uri = p.readParcelable(null);
+            uri = p.readParcelable(loader);
             id = p.readLong();
             maxLines = p.readInt();
             mimetype = p.readString();
diff --git a/src/com/android/contacts/model/EntityDelta.java b/src/com/android/contacts/model/EntityDelta.java
index 1f152e1..47b6db2 100644
--- a/src/com/android/contacts/model/EntityDelta.java
+++ b/src/com/android/contacts/model/EntityDelta.java
@@ -448,10 +448,11 @@
     }
 
     public void readFromParcel(Parcel source) {
+        final ClassLoader loader = getClass().getClassLoader();
         final int size = source.readInt();
-        mValues = source.<ValuesDelta> readParcelable(null);
+        mValues = source.<ValuesDelta> readParcelable(loader);
         for (int i = 0; i < size; i++) {
-            final ValuesDelta child = source.<ValuesDelta> readParcelable(null);
+            final ValuesDelta child = source.<ValuesDelta> readParcelable(loader);
             this.addEntry(child);
         }
     }
@@ -810,8 +811,9 @@
         }
 
         public void readFromParcel(Parcel source) {
-            mBefore = source.<ContentValues> readParcelable(null);
-            mAfter = source.<ContentValues> readParcelable(null);
+            final ClassLoader loader = getClass().getClassLoader();
+            mBefore = source.<ContentValues> readParcelable(loader);
+            mAfter = source.<ContentValues> readParcelable(loader);
             mIdColumn = source.readString();
         }
 
