diff --git a/slang_rs_export_type.cpp b/slang_rs_export_type.cpp
index ae13bf6..ba37860 100644
--- a/slang_rs_export_type.cpp
+++ b/slang_rs_export_type.cpp
@@ -907,8 +907,15 @@
   if (!RT) {
     return false;
   }
+
   const clang::RecordDecl *RD = RT->getDecl();
-  RD = RD->getDefinition();
+  if (RD) {
+    RD = RD->getDefinition();
+  }
+  if (!RD) {
+    return false;
+  }
+
   for (clang::RecordDecl::field_iterator FI = RD->field_begin(),
          FE = RD->field_end();
        FI != FE;
diff --git a/slang_rs_object_ref_count.cpp b/slang_rs_object_ref_count.cpp
index f32eeb2..246ae83 100644
--- a/slang_rs_object_ref_count.cpp
+++ b/slang_rs_object_ref_count.cpp
@@ -680,6 +680,7 @@
               RSExportPrimitiveType::DataTypeUnknown);
 
   unsigned FieldsToDestroy = CountRSObjectTypes(C, BaseType, Loc);
+  slangAssert(FieldsToDestroy != 0);
 
   unsigned StmtCount = 0;
   clang::Stmt **StmtArray = new clang::Stmt*[FieldsToDestroy];
@@ -1092,7 +1093,7 @@
     }
   }
 
-  slangAssert(StmtCount > 0 && StmtCount < FieldsToSet);
+  slangAssert(StmtCount < FieldsToSet);
 
   // We still need to actually do the overall struct copy. For simplicity,
   // we just do a straight-up assignment (which will still preserve all
@@ -1467,8 +1468,14 @@
           RSExportPrimitiveType::DataTypeUnknown;
       clang::Expr *InitExpr = NULL;
       if (InitializeRSObject(VD, &DT, &InitExpr)) {
-        getCurrentScope()->addRSObject(VD);
+        // We need to zero-init all RS object types (including matrices), ...
         getCurrentScope()->AppendRSObjectInit(VD, DS, DT, InitExpr);
+        // ... but, only add to the list of RS objects if we have some
+        // non-matrix RS object fields.
+        if (CountRSObjectTypes(mCtx, VD->getType().getTypePtr(),
+                               VD->getLocation())) {
+          getCurrentScope()->addRSObject(VD);
+        }
       }
     }
   }
diff --git a/tests/P_refcount/refcount.rs b/tests/P_refcount/refcount.rs
index 361823b..3046dc4 100644
--- a/tests/P_refcount/refcount.rs
+++ b/tests/P_refcount/refcount.rs
@@ -4,6 +4,10 @@
 rs_font globalAlloc;
 rs_font globalAlloc2;
 
+struct hasMatrix {
+    rs_matrix3x3 m;
+} ghm;
+
 static void foo() {
 
     rs_font fontUninit;
@@ -17,6 +21,8 @@
 }
 
 void singleStmt() {
+    struct hasMatrix h = ghm;
+    ghm = h;
     globalAlloc = globalAlloc2;
 }
 
diff --git a/tests/P_refcount/stdout.txt.expect b/tests/P_refcount/stdout.txt.expect
index 7e2f82c..cfd6791 100644
--- a/tests/P_refcount/stdout.txt.expect
+++ b/tests/P_refcount/stdout.txt.expect
@@ -1 +1,2 @@
 Generating ScriptC_refcount.java ...
+Generating ScriptField_hasMatrix.java ...
