diff --git a/src/main/scala/leon/purescala/Definitions.scala b/src/main/scala/leon/purescala/Definitions.scala
index 575939a8c7dfc0095df7134b3b158a024dbaff83..1e38c2983b1098201cd05804df281879449bd64a 100644
--- a/src/main/scala/leon/purescala/Definitions.scala
+++ b/src/main/scala/leon/purescala/Definitions.scala
@@ -111,8 +111,16 @@ object Definitions {
 
     def importedDefs(implicit pgm: Program) = this match {
       case PackageImport(pack) =>
-        // Ignore standalone modules, assume there are extra imports for them
-        DefOps.unitsInPackage(pgm, pack)
+        for {
+          u <- DefOps.unitsInPackage(pgm, pack)
+          d <- u.subDefinitions
+          ret <- d match {
+            case m: ModuleDef if m.isPackageObject =>
+              m.subDefinitions
+            case other =>
+              Seq(other)
+          }
+        } yield ret
 
       case SingleImport(imported) =>
         List(imported)