diff --git a/com.oracle.truffle.r.ffi.impl/src/com/oracle/truffle/r/ffi/impl/nfi/TruffleNFI_Context.java b/com.oracle.truffle.r.ffi.impl/src/com/oracle/truffle/r/ffi/impl/nfi/TruffleNFI_Context.java
index c90fbc6920c0ebec90256571eebbbc3aec183557..2e79a9dca824e951df2c2e6317c473bda260b565 100644
--- a/com.oracle.truffle.r.ffi.impl/src/com/oracle/truffle/r/ffi/impl/nfi/TruffleNFI_Context.java
+++ b/com.oracle.truffle.r.ffi.impl/src/com/oracle/truffle/r/ffi/impl/nfi/TruffleNFI_Context.java
@@ -123,9 +123,17 @@ final class TruffleNFI_Context extends RFFIContext {
             if (function.getLibrary() == NativeFunction.baseLibrary()) {
                 dllInfo = TruffleNFI_Context.getInstance().defaultLibrary;
             } else if (function.getLibrary() == NativeFunction.anyLibrary()) {
-                dllInfo = ((NFIHandle) DLL.findLibraryContainingSymbol(function.getCallName()).handle).libHandle;
+                DLLInfo lib = DLL.findLibraryContainingSymbol(function.getCallName());
+                if (lib == null) {
+                    throw RInternalError.shouldNotReachHere("Could not find library containing symbol " + function.getCallName());
+                }
+                dllInfo = ((NFIHandle) lib.handle).libHandle;
             } else {
-                dllInfo = ((NFIHandle) DLL.findLibrary(function.getLibrary()).handle).libHandle;
+                DLLInfo lib = DLL.findLibrary(function.getLibrary());
+                if (lib == null) {
+                    throw RInternalError.shouldNotReachHere("Could not find library  " + function.getLibrary());
+                }
+                dllInfo = ((NFIHandle) lib.handle).libHandle;
             }
             try {
                 TruffleObject symbol = ((TruffleObject) ForeignAccess.sendRead(Message.READ.createNode(), dllInfo, function.getCallName()));