diff --git a/internal/godoc/encode.go b/internal/godoc/encode.go
index 4efdd74..a055e4d 100644
--- a/internal/godoc/encode.go
+++ b/internal/godoc/encode.go
@@ -81,7 +81,7 @@
 	if err := p.Fset.Write(enc.Encode); err != nil {
 		return nil, err
 	}
-	if err := enc.Encode(p.Files); err != nil {
+	if err := enc.Encode(p.gobPackage); err != nil {
 		return nil, err
 	}
 	return buf.Bytes(), nil
@@ -96,12 +96,11 @@
 		return nil, fmt.Errorf("want initial bytes to be %q but they aren't", encodingType)
 	}
 	dec := gob.NewDecoder(bytes.NewReader(data[le:]))
-	p := &Package{}
-	p.Fset = token.NewFileSet()
+	p := NewPackage(token.NewFileSet())
 	if err := p.Fset.Read(dec.Decode); err != nil {
 		return nil, err
 	}
-	if err := dec.Decode(&p.Files); err != nil {
+	if err := dec.Decode(&p.gobPackage); err != nil {
 		return nil, err
 	}
 	for _, f := range p.Files {
diff --git a/internal/godoc/godoc.go b/internal/godoc/godoc.go
index 78c7ac6..173cfa7 100644
--- a/internal/godoc/godoc.go
+++ b/internal/godoc/godoc.go
@@ -12,7 +12,11 @@
 
 // A package contains everything needed to render Go documentation for a package.
 type Package struct {
-	Fset  *token.FileSet
+	Fset *token.FileSet
+	gobPackage
+}
+
+type gobPackage struct { // fields that can be directly gob-encoded
 	Files []*File
 }
 
