diff --git a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/RSerialize.java b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/RSerialize.java
index 1c67585506a6fbb8b8ee55b0b0a7c3bdce67e28e..60b1220653c7b6136e0c1fa0b08f80567e610033 100644
--- a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/RSerialize.java
+++ b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/RSerialize.java
@@ -1522,6 +1522,10 @@ public class RSerialize {
                         break;
                     }
 
+                    case S4SXP: {
+                        break;
+                    }
+
                     /*
                      * FastR scalar, (length 1) "vectors"
                      */
diff --git a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/gnur/SEXPTYPE.java b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/gnur/SEXPTYPE.java
index 5fac432ac6303c5bc066df6bb0154826237ea84e..2d2654f8efdca8112f7126a7a198f58b4be00c7a 100644
--- a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/gnur/SEXPTYPE.java
+++ b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/gnur/SEXPTYPE.java
@@ -46,7 +46,7 @@ public enum SEXPTYPE {
     EXTPTRSXP(22, RExternalPtr.class), /* external pointer */
     WEAKREFSXP(23), /* weak reference */
     RAWSXP(24, new Class<?>[]{RRawVector.class, RRaw.class}), /* raw bytes */
-    S4SXP(25), /* S4 non-vector */
+    S4SXP(25, RS4Object.class), /* S4 non-vector */
 
     NEWSXP(30), /* fresh node created in new page */
     FREESXP(31), /* node released by GC */