diff --git a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/RInternalCode.java b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/RInternalCode.java
index c24bbb279baa2771219151833783a6ca05bb8a81..6c37aa8fc0438910b700a425e486c660de50f7cd 100644
--- a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/RInternalCode.java
+++ b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/RInternalCode.java
@@ -23,8 +23,6 @@
 
 package com.oracle.truffle.r.runtime;
 
-import java.io.IOException;
-import java.net.URL;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.Map;
@@ -54,14 +52,8 @@ public final class RInternalCode {
         this.basePackage = basePackage;
     }
 
-    @SuppressWarnings("deprecation")
     public static Source loadSourceRelativeTo(Class<?> clazz, String fileName) {
-        URL url = clazz.getResource("/" + clazz.getPackage().getName().replaceAll("\\.", "//") + "/" + fileName);
-        try {
-            return Source.newBuilder(url).name(fileName).internal().build();
-        } catch (IOException e) {
-            throw RInternalError.shouldNotReachHere(e, "Internal R script failed to load.");
-        }
+        return Utils.getResourceAsSource(clazz, fileName);
     }
 
     private REnvironment evaluate() {
diff --git a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/Utils.java b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/Utils.java
index 86df46535255786ea2e93d801da3e37e174755ca..941491c4353a56463b7d1c50ddd7f0082f7493ba 100644
--- a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/Utils.java
+++ b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/Utils.java
@@ -93,8 +93,11 @@ public final class Utils {
 
     @SuppressWarnings("deprecation")
     public static Source getResourceAsSource(Class<?> clazz, String resourceName) {
-        URL url = ResourceHandlerFactory.getHandler().getResource(clazz, resourceName);
         try {
+            URL url = ResourceHandlerFactory.getHandler().getResource(clazz, resourceName);
+            if (url == null) {
+                throw new IOException();
+            }
             return Source.fromFileName(url.getPath());
         } catch (IOException ex) {
             throw Utils.fail("resource " + resourceName + " not found");