diff --git a/org.eclipse.jdt.ui/ui refactoring/org/eclipse/jdt/internal/ui/refactoring/reorg/PasteAction.java b/org.eclipse.jdt.ui/ui refactoring/org/eclipse/jdt/internal/ui/refactoring/reorg/PasteAction.java
index ed26187..dccf2d5 100644
--- a/org.eclipse.jdt.ui/ui refactoring/org/eclipse/jdt/internal/ui/refactoring/reorg/PasteAction.java
+++ b/org.eclipse.jdt.ui/ui refactoring/org/eclipse/jdt/internal/ui/refactoring/reorg/PasteAction.java
@@ -381,15 +381,19 @@
 				if (unit.types().size() > 0)
 					return parseAsTypes(text, unit);
 
-				parser.setProject(javaProject);
+				if (javaProject != null) {
+					parser.setProject(javaProject);
+				} else if (compilerCompliance != null) {
+					Map<String, String> options= JavaCore.getOptions();
+					JavaModelUtil.setComplianceOptions(options, compilerCompliance);
+					parser.setCompilerOptions(options);
+				}
 				parser.setSource(text.toCharArray());
 				parser.setStatementsRecovery(true);
 				parser.setUnitName(JavaModelUtil.MODULE_INFO_JAVA);
 				unit= (CompilationUnit) parser.createAST(null);
 				if (unit.getModule() != null) {
 					return Collections.singletonList(new ParsedCu(text, ASTParser.K_COMPILATION_UNIT, null, null, true));
-				} else {
-					parser.setUnitName(null);
 				}
 
 				parser.setProject(javaProject);
