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 7e43733..393b93f 100644
--- a/plugins/org.eclipse.jst.common.project.facet.core/plugin.xml
+++ b/plugins/org.eclipse.jst.common.project.facet.core/plugin.xml
@@ -30,6 +30,7 @@
     <runtime-component-version type="standard.jre" version="10"/>
     <runtime-component-version type="standard.jre" version="11"/>
     <runtime-component-version type="standard.jre" version="12"/>
+    <runtime-component-version type="standard.jre" version="13"/>
 
     <supported>
       <facet id="java" version="1.3"/>
@@ -80,6 +81,11 @@
       <facet id="java" version="12"/>
       <runtime-component id="standard.jre" version="[12"/>
     </supported>
+    
+    <supported>
+      <facet id="java" version="13"/>
+      <runtime-component id="standard.jre" version="[13"/>
+    </supported>
 
     <adapter>
       <runtime-component id="standard.jre"/>
@@ -116,6 +122,8 @@
     <project-facet-version facet="java" version="11"/>
 
     <project-facet-version facet="java" version="12"/>
+    
+    <project-facet-version facet="java" version="13"/>
 
     <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 fe6fb88..6bee006 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
@@ -8,7 +8,7 @@
  * Contributors:
  *    Konstantin Komissarchik - initial implementation and ongoing maintenance
  *    Carl Anderson - Java 9 support
- *    John Collier - Java 10 and 11 support
+ *    John Collier - Java 10-11, 13 support
  *    Leon Keuroglian - Java 12 support
  ******************************************************************************/
 
@@ -41,6 +41,7 @@
     public static final IProjectFacetVersion VERSION_10 = FACET.getVersion( "10" ); //$NON-NLS-1$
     public static final IProjectFacetVersion VERSION_11 = FACET.getVersion( "11" ); //$NON-NLS-1$
     public static final IProjectFacetVersion VERSION_12 = FACET.getVersion( "12" ); //$NON-NLS-1$
+    public static final IProjectFacetVersion VERSION_13 = FACET.getVersion( "13" ); //$NON-NLS-1$
 
     @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 f4c9199..dceabeb 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
@@ -8,7 +8,7 @@
  * Contributors:
  *    Konstantin Komissarchik - initial implementation and ongoing maintenance
  *    Carl Anderson - Java 9 support
- *    John Collier - Java 10 and 11 support
+ *    John Collier - Java 10-11, 13 support
  *    Leon Keuroglian - Java 12 support
  ******************************************************************************/
 
@@ -42,6 +42,7 @@
     public static final IRuntimeComponentVersion VERSION_10 = TYPE.getVersion( "10" ); //$NON-NLS-1$
     public static final IRuntimeComponentVersion VERSION_11 = TYPE.getVersion( "11" ); //$NON-NLS-1$
     public static final IRuntimeComponentVersion VERSION_12 = TYPE.getVersion( "12" ); //$NON-NLS-1$
+    public static final IRuntimeComponentVersion VERSION_13 = TYPE.getVersion( "13" ); //$NON-NLS-1$
 
     @Deprecated
     public static final IRuntimeComponentVersion VERSION_5_0 = VERSION_1_5;
@@ -108,9 +109,13 @@
         {
             rcv = StandardJreRuntimeComponent.VERSION_12;
         }
+        else if( jvmver.startsWith( "13" ) ) //$NON-NLS-1$
+        {
+            rcv = StandardJreRuntimeComponent.VERSION_13;
+        }
         else
         {
-            rcv = StandardJreRuntimeComponent.VERSION_12;
+            rcv = StandardJreRuntimeComponent.VERSION_13;
         }
         
         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 6f6047c..1cb2aa0 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
@@ -8,7 +8,7 @@
  * Contributors:
  *    Konstantin Komissarchik - initial implementation and ongoing maintenance
  *    Carl Anderson - Java 9 support
- *    John Collier - Java 10 and 11 support
+ *    John Collier - Java 10-11, 13 support
  *    Leon Keuroglian - Java 12 support
  ******************************************************************************/
 
@@ -68,6 +68,7 @@
         FACET_VER_TO_EXEC_ENV.put( JavaFacet.VERSION_10, "JavaSE-10" ); //$NON-NLS-1$
         FACET_VER_TO_EXEC_ENV.put( JavaFacet.VERSION_11, "JavaSE-11" ); //$NON-NLS-1$
         FACET_VER_TO_EXEC_ENV.put( JavaFacet.VERSION_12, "JavaSE-12" ); //$NON-NLS-1$
+        FACET_VER_TO_EXEC_ENV.put( JavaFacet.VERSION_13, "JavaSE-13" ); //$NON-NLS-1$
     }
     
     public static String getCompilerLevel()
