diff --git a/cue/format/format_test.go b/cue/format/format_test.go
index 5b4f729..801c975 100644
--- a/cue/format/format_test.go
+++ b/cue/format/format_test.go
@@ -237,6 +237,28 @@
 		t.Errorf("got %q, expected %q", buf.String(), res)
 	}
 }
+func TestPackage(t *testing.T) {
+	f := &ast.File{
+		Name: ast.NewIdent("foo"),
+		Decls: []ast.Decl{
+			&ast.EmitDecl{
+				Expr: &ast.BasicLit{
+					ValuePos: token.Pos(token.NoSpace),
+					Value:    "1",
+				},
+			},
+		},
+	}
+	var buf bytes.Buffer
+	err := Node(&buf, f)
+	if err != nil {
+		t.Fatal(err)
+	}
+	const want = "package foo\n\n1\n"
+	if got := buf.String(); got != want {
+		t.Errorf("got %q, expected %q", got, want)
+	}
+}
 
 // idents is an iterator that returns all idents in f via the result channel.
 func idents(f *ast.File) <-chan *ast.Ident {
diff --git a/cue/format/node.go b/cue/format/node.go
index 527c92e..d054270 100644
--- a/cue/format/node.go
+++ b/cue/format/node.go
@@ -95,7 +95,7 @@
 	f.before(file)
 	if file.Name != nil {
 		f.print(file.Package, "package")
-		f.print(blank, file.Name, newline, newsection)
+		f.print(blank, file.Name, newsection, nooverride)
 	}
 	f.current.pos = 3
 	f.visitComments(3)
@@ -222,11 +222,11 @@
 			f.walkSpecList(n.Specs)
 			f.print(unindent, newline, n.Rparen, token.RPAREN, newline)
 		}
-		f.print(newsection)
+		f.print(newsection, nooverride)
 
 	case *ast.EmitDecl:
 		f.expr(n.Expr)
-		f.print(newline, newsection) // force newline
+		f.print(newline, newsection, nooverride) // force newline
 
 	case *ast.Alias:
 		f.expr(n.Ident)
