diff --git a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/env/REnvironment.java b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/env/REnvironment.java
index dcb01ee548ac70950daf8f94469abd7aa8adf2c2..eb109fbe93ed659235e053747d6d184eed4293d6 100644
--- a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/env/REnvironment.java
+++ b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/env/REnvironment.java
@@ -930,7 +930,8 @@ public abstract class REnvironment extends RAttributeStorage {
         slots = namespacesFrame.getFrameDescriptor().getSlots().toArray(slots);
         for (int i = 0; i < slots.length; i++) {
             REnvironment namespaceEnv = (REnvironment) FrameSlotChangeMonitor.getValue(slots[i], namespacesFrame);
-            if (namespaceEnv != Base.baseNamespaceEnv()) {
+            // Could be 'null' due to multi slot data and an error during package loading
+            if (namespaceEnv != Base.baseNamespaceEnv() && namespaceEnv != null) {
                 // base namespace frame redirects all accesses to base frame and this would
                 // result in processing the slots twice
                 fun.apply(namespaceEnv.getFrame(), true);