diff --git a/README.version b/README.version
new file mode 100644
index 0000000..f7c1fa0
--- /dev/null
+++ b/README.version
@@ -0,0 +1,3 @@
+URL: https://code.google.com/p/doclava/downloads/detail?name=doclava-1.0.6-bundle.zip&can=2&q=
+Version: 1.0.6
+BugComponent: 27745
diff --git a/src/com/google/doclava/Doclava.java b/src/com/google/doclava/Doclava.java
index 23ede5f..8ad3904 100644
--- a/src/com/google/doclava/Doclava.java
+++ b/src/com/google/doclava/Doclava.java
@@ -799,11 +799,11 @@
         String templ = relative + f.getName();
         int len = templ.length();
         if (len > 3 && ".cs".equals(templ.substring(len - 3))) {
-          Data data = makeHDF();
+          Data data = makePackageHDF();
           String filename = templ.substring(0, len - 3) + htmlExtension;
           ClearPage.write(data, templ, filename, js);
         } else if (len > 3 && ".jd".equals(templ.substring(len - 3))) {
-          Data data = makeHDF();
+          Data data = makePackageHDF();
           String filename = templ.substring(0, len - 3) + htmlExtension;
           DocFile.writePage(f.getAbsolutePath(), relative, filename, data);
         } else if(!f.getName().equals(".DS_Store")){
diff --git a/src/com/google/doclava/Stubs.java b/src/com/google/doclava/Stubs.java
index efcf89b..0578302 100644
--- a/src/com/google/doclava/Stubs.java
+++ b/src/com/google/doclava/Stubs.java
@@ -1543,9 +1543,7 @@
 
   static void writeConstructorKeepList(PrintStream keepListWriter, MethodInfo mi) {
     keepListWriter.print("    ");
-    String name = mi.name();
-    name = name.replace(".", "$");
-    keepListWriter.print(name);
+    keepListWriter.print("<init>");
 
     writeParametersKeepList(keepListWriter, mi, mi.parameters());
     keepListWriter.print(";\n");
