diff --git a/tests/import/import_pkg7.py b/tests/import/import_pkg7.py
index be8564ef66884ce4ad1cf92b42dc99e35f7f007f..e1463ebbf8a3a9010f4b6ca57050313e3ae1d026 100644
--- a/tests/import/import_pkg7.py
+++ b/tests/import/import_pkg7.py
@@ -1,2 +1,2 @@
-# This tests ... relative imports as used in pkg7
+# This tests ... relative imports as used in pkg7 and imports beyond package root
 import pkg7.subpkg1.subpkg2.mod3
diff --git a/tests/import/import_pkg8.py b/tests/import/import_pkg8.py
new file mode 100644
index 0000000000000000000000000000000000000000..4c1e832f2c3948b48eb730c5129f0801a431809a
--- /dev/null
+++ b/tests/import/import_pkg8.py
@@ -0,0 +1,2 @@
+# import with no __init__.py files
+import pkg8.mod
diff --git a/tests/import/pkg7/subpkg1/subpkg2/mod3.py b/tests/import/pkg7/subpkg1/subpkg2/mod3.py
index b85b34e60433e4fe9373a57e16606ea5bc85d25f..747cde03b6399a2aa9b857375de0a3029116267b 100644
--- a/tests/import/pkg7/subpkg1/subpkg2/mod3.py
+++ b/tests/import/pkg7/subpkg1/subpkg2/mod3.py
@@ -2,3 +2,10 @@ from ... import mod1
 from ...mod2 import bar
 print(mod1.foo)
 print(bar)
+
+# when attempting relative import beyond top-level package uPy raises ImportError
+# whereas CPython raises a ValueError
+try:
+    from .... import mod1
+except (ImportError, ValueError):
+    print('Error')
diff --git a/tests/import/pkg8/mod.py b/tests/import/pkg8/mod.py
new file mode 100644
index 0000000000000000000000000000000000000000..b98f02ce6e01d1a3a6942feaabc7dbb15498e644
--- /dev/null
+++ b/tests/import/pkg8/mod.py
@@ -0,0 +1 @@
+print('foo')