diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/JavaLaunchDelegate.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/JavaLaunchDelegate.java
index 51e5299..1d20f4e 100644
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/JavaLaunchDelegate.java
+++ b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/JavaLaunchDelegate.java
@@ -84,10 +84,12 @@
 			runConfig.setVMSpecificAttributesMap(vmAttributesMap);
 			// current module name, if so
 			IJavaProject proj = JavaRuntime.getJavaProject(configuration);
-			IModuleDescription module = proj == null ? null : proj.getModuleDescription();
-			String modName = module == null ? null : module.getElementName();
-			if (modName != null) {
-				runConfig.setModuleDescription(modName);
+			if (proj != null) {
+				IModuleDescription module = proj == null ? null : proj.getModuleDescription();
+				String modName = module == null ? null : module.getElementName();
+				if (modName != null) {
+					runConfig.setModuleDescription(modName);
+				}
 			}
 
 			// Bootpath
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/JavaRuntime.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/JavaRuntime.java
index de756bc..ecff9d9 100644
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/JavaRuntime.java
+++ b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/JavaRuntime.java
@@ -1527,10 +1527,15 @@
 				switch (entry.getClasspathEntry().getEntryKind()) {
 					case IClasspathEntry.CPE_LIBRARY:
 						IJavaProject project = JavaRuntime.getJavaProject(configuration);
-						IPackageFragmentRoot root = project.findPackageFragmentRoot(entry.getPath());
-						if (root != null && !root.getRawClasspathEntry().getPath().segment(0).contains("JRE_CONTAINER")) { //$NON-NLS-1$
+						if (project == null) {
 							entries2.add(entry);
 						}
+						else {
+							IPackageFragmentRoot root = project.findPackageFragmentRoot(entry.getPath());
+							if (root != null && !root.getRawClasspathEntry().getPath().segment(0).contains("JRE_CONTAINER")) { //$NON-NLS-1$
+								entries2.add(entry);
+							}
+						}
 						break;
 					default:
 						entries2.add(entry);
