diff --git a/plugins/org.eclipse.jst.common.project.facet.core/plugin.xml b/plugins/org.eclipse.jst.common.project.facet.core/plugin.xml
index 19b787b..5768ccf 100644
--- a/plugins/org.eclipse.jst.common.project.facet.core/plugin.xml
+++ b/plugins/org.eclipse.jst.common.project.facet.core/plugin.xml
@@ -26,7 +26,7 @@
     <runtime-component-version type="standard.jre" version="1.6"/>
     <runtime-component-version type="standard.jre" version="1.7"/>
     <runtime-component-version type="standard.jre" version="1.8"/>
-    <runtime-component-version type="standard.jre" version="1.9"/>
+    <runtime-component-version type="standard.jre" version="9"/>
 
     <supported>
       <facet id="java" version="1.3"/>
@@ -59,8 +59,8 @@
     </supported>
 
     <supported>
-      <facet id="java" version="1.9"/>
-      <runtime-component id="standard.jre" version="[1.9"/>
+      <facet id="java" version="9"/>
+      <runtime-component id="standard.jre" version="[9"/>
     </supported>
 
     <adapter>
@@ -91,7 +91,7 @@
 
     <project-facet-version facet="java" version="1.8"/>
 
-    <project-facet-version facet="java" version="1.9"/>
+    <project-facet-version facet="java" version="9"/>
 
     <action facet="java" type="install" id="java.install">
       <delegate class="org.eclipse.jst.common.project.facet.core.internal.JavaFacetInstallDelegate"/>
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/JavaFacet.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/JavaFacet.java
index ac591c5..8be8d68 100644
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/JavaFacet.java
+++ b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/JavaFacet.java
@@ -35,7 +35,11 @@
     public static final IProjectFacetVersion VERSION_1_6 = FACET.getVersion( "1.6" ); //$NON-NLS-1$
     public static final IProjectFacetVersion VERSION_1_7 = FACET.getVersion( "1.7" ); //$NON-NLS-1$
     public static final IProjectFacetVersion VERSION_1_8 = FACET.getVersion( "1.8" ); //$NON-NLS-1$
-    public static final IProjectFacetVersion VERSION_1_9 = FACET.getVersion( "1.9" ); //$NON-NLS-1$
+    public static final IProjectFacetVersion VERSION_9 = FACET.getVersion( "9" ); //$NON-NLS-1$
+    
+    // temporary hack to be removed before WTP 3.9.1a
+    @Deprecated
+    public static final IProjectFacetVersion VERSION_1_9 = VERSION_9;
 
     @Deprecated
     public static final IProjectFacetVersion JAVA_13 = VERSION_1_3;
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/StandardJreRuntimeComponent.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/StandardJreRuntimeComponent.java
index 1952486..8e228bb 100644
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/StandardJreRuntimeComponent.java
+++ b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/StandardJreRuntimeComponent.java
@@ -36,7 +36,7 @@
     public static final IRuntimeComponentVersion VERSION_1_6 = TYPE.getVersion( "1.6" ); //$NON-NLS-1$
     public static final IRuntimeComponentVersion VERSION_1_7 = TYPE.getVersion( "1.7" ); //$NON-NLS-1$
     public static final IRuntimeComponentVersion VERSION_1_8 = TYPE.getVersion( "1.8" ); //$NON-NLS-1$
-    public static final IRuntimeComponentVersion VERSION_1_9 = TYPE.getVersion( "1.9" ); //$NON-NLS-1$
+    public static final IRuntimeComponentVersion VERSION_9 = TYPE.getVersion( "9" ); //$NON-NLS-1$
 
     @Deprecated
     public static final IRuntimeComponentVersion VERSION_5_0 = VERSION_1_5;
@@ -87,13 +87,13 @@
         {
             rcv = StandardJreRuntimeComponent.VERSION_1_8;
         }
-        else if( jvmver.startsWith( "1.9" ) ) //$NON-NLS-1$
+        else if( jvmver.startsWith( "9" ) ) //$NON-NLS-1$
         {
-            rcv = StandardJreRuntimeComponent.VERSION_1_9;
+            rcv = StandardJreRuntimeComponent.VERSION_9;
         }
         else 
         {
-            rcv = StandardJreRuntimeComponent.VERSION_1_9;
+            rcv = StandardJreRuntimeComponent.VERSION_9;
         }
         
         final Map<String,String> properties = new HashMap<String,String>();
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/JavaFacetUtil.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/JavaFacetUtil.java
index f675be6..6c66597 100644
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/JavaFacetUtil.java
+++ b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/JavaFacetUtil.java
@@ -62,7 +62,7 @@
         FACET_VER_TO_EXEC_ENV.put( JavaFacet.VERSION_1_6, "JavaSE-1.6" ); //$NON-NLS-1$
         FACET_VER_TO_EXEC_ENV.put( JavaFacet.VERSION_1_7, "JavaSE-1.7" ); //$NON-NLS-1$
         FACET_VER_TO_EXEC_ENV.put( JavaFacet.VERSION_1_8, "JavaSE-1.8" ); //$NON-NLS-1$
-        FACET_VER_TO_EXEC_ENV.put( JavaFacet.VERSION_1_9, "JavaSE-1.9" ); //$NON-NLS-1$
+        FACET_VER_TO_EXEC_ENV.put( JavaFacet.VERSION_9, "JavaSE-9" ); //$NON-NLS-1$
     }
     
     public static String getCompilerLevel()
