diff --git a/src/main/scala/leon/purescala/PrettyPrinter.scala b/src/main/scala/leon/purescala/PrettyPrinter.scala
index fca74d2626bd56a5a08ff36d237ebd14e7f1638e..f48d424aaa1575d5c60b380a1c0c8c0aa2f2c2f2 100644
--- a/src/main/scala/leon/purescala/PrettyPrinter.scala
+++ b/src/main/scala/leon/purescala/PrettyPrinter.scala
@@ -434,18 +434,16 @@ class PrettyPrinter(opts: PrinterOptions, val sb: StringBuffer = new StringBuffe
 
       // Definitions
       case Program(id, units) =>
-        p"""${nary(units, "\n\n")}"""
+        p"""${nary(units filter {_.isMainUnit}, "\n\n")}"""
       
-      case UnitDef(id,modules,pack,imports,isBasic) =>
-        if (isBasic) {
-          if (!pack.isEmpty){
-            p"""|package ${pack mkString "."}
-                |"""
-          }
-          p"""|${nary(imports,"\n")}
-              |${nary(modules,"\n\n")}
+      case UnitDef(id,modules,pack,imports,_) =>
+        if (!pack.isEmpty){
+          p"""|package ${pack mkString "."}
               |"""
         }
+        p"""|${nary(imports,"\n")}
+            |${nary(modules,"\n\n")}
+            |"""
         
       case PackageImport(pack) => 
         import DefOps._