diff --git a/README b/README
index 9772255..d22b731 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-             xdc-K02 (corevers:16.0.2.0; B:200,G:200,R:200)
+             xdc-K03 (corevers:16.0.2.0; B:200,G:200,R:200)
 
                        eXpanDed C Tools (XDCtools)
 
@@ -63,11 +63,8 @@
 
 CHANGES
 
+xdc.rov
+    fix Model.getStartFiles() to properly handle recap
+    
 MRS
 
-XDCTOOLS-417	fix xdc.rov.support.ScalarStructs to be "virtually" meta-only
-XDCTOOLS-428	ROV needs API that can read any memory location and interpret
-		it as a standard C99 type
-XDCTOOLS-431	ITarget.model properties are incorrect for ROV C modules for
-		BIOS 7
-
diff --git a/ident.c b/ident.c
index d5fbe02..9244f25 100644
--- a/ident.c
+++ b/ident.c
@@ -2,7 +2,7 @@
  *  ======== ident.c ========
  */
 
-#define _VERS_ "@(#)*** xdc-K02"
+#define _VERS_ "@(#)*** xdc-K03"
 
 static char __NAME[] = _NAME_;
 static char __DATE[] = _DATE_;
diff --git a/src/packages/xdc/rov/Model.xs b/src/packages/xdc/rov/Model.xs
index 504c538..f99b105 100644
--- a/src/packages/xdc/rov/Model.xs
+++ b/src/packages/xdc/rov/Model.xs
@@ -42,12 +42,18 @@
         this.$private.recap = recap;
     }
     this.$private.files = [executable];
+    if (this.$private.recap) {
+        var path = this.$private.recap.$path;
+        if (path.indexOf("xdc/rov/noruntime.rov.xs") == -1) {
+            this.$private.files.push(path);
+        }
+    }
 
     xdc.useModule('xdc.rov.support.ScalarStructs');
 
     /* Read the ROV config file and/or sysconfig ROV file */
     var files = readConfig(executable);
-    this.$private.files.concat(files);
+    this.$private.files = this.$private.files.concat(files);
 
     /* Store off the list of all modules in the recap file */
     var mnames = [];
@@ -678,7 +684,7 @@
     if (rovConfig != "") {
         //try {
             var config = xdc.loadCapsule(rovConfig);
-            files.push(sconfig.$path);
+            files.push(config.$path);
             /* This code reads an array of declared constructed objects from
              * a ROV configuration file with the .rov.js extension.
              *  Example:
