diff --git a/plugins/org.eclipse.ocl/META-INF/MANIFEST.MF b/plugins/org.eclipse.ocl/META-INF/MANIFEST.MF
index 5f1b28e..2b121ad 100644
--- a/plugins/org.eclipse.ocl/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.ocl/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.ocl;singleton:=true
-Bundle-Version: 3.10.400.qualifier
+Bundle-Version: 3.15.0.qualifier
 Bundle-ClassPath: .
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
diff --git a/plugins/org.eclipse.ocl/plugin.xml b/plugins/org.eclipse.ocl/plugin.xml
index 441965f..06e8595 100644
--- a/plugins/org.eclipse.ocl/plugin.xml
+++ b/plugins/org.eclipse.ocl/plugin.xml
@@ -25,6 +25,13 @@
 
   <extension point="org.eclipse.emf.ecore.generated_package">
     <package 
+       uri = "http://www.eclipse.org/ocl/1.1.0/OCL" 
+       class = "org.eclipse.ocl.expressions.impl.ExpressionsPackageImpl$OCLPackageImpl"
+       genModel = "model/OCL.genmodel" /> 
+  </extension>
+
+  <extension point="org.eclipse.emf.ecore.generated_package">
+    <package 
        uri = "http://www.eclipse.org/ocl/1.1.0/OCL/Expressions" 
        class = "org.eclipse.ocl.expressions.ExpressionsPackage"
        genModel = "model/OCL.genmodel" /> 
diff --git a/plugins/org.eclipse.ocl/src/org/eclipse/ocl/expressions/impl/ExpressionsPackageImpl.java b/plugins/org.eclipse.ocl/src/org/eclipse/ocl/expressions/impl/ExpressionsPackageImpl.java
index 58b291e..2dea7ef 100644
--- a/plugins/org.eclipse.ocl/src/org/eclipse/ocl/expressions/impl/ExpressionsPackageImpl.java
+++ b/plugins/org.eclipse.ocl/src/org/eclipse/ocl/expressions/impl/ExpressionsPackageImpl.java
@@ -4,7 +4,7 @@
  * are made available under the terms of the Eclipse Public License v2.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/epl-v20.html
- * 
+ *
  * Contributors:
  *   IBM - Initial API and implementation
  *   Zeligsoft - Bug 207365
@@ -330,33 +330,43 @@
 	private EEnum collectionKindEEnum = null;
 
 	/**
-	 * Root package of the OCL Ecore model, which we have to "fake out"
-	 * because EMF will not generate it.
+	 * Root package of the OCL Ecore model, which we have to "fake out" because EMF will not generate it.
+	 *
+	 * - not actually true. EMF will generate the root package if it has a DummyClass.
+	 *
+	 * But the legacy is that we have true nested EPackages each with their own EResource and a faked root
+	 * that nests but does not contain its nested EPackages. Consequently serialized URIs use the nested rather than
+	 * root Resource.
+	 *
+	 * The Bug 559209 fix exposes OCLPackageImpl and its eINSTANCE as public API so that a regular EPackage.Registry
+	 * extension point registers the root EPackage in a timely fashion.
+	 *
+	 * @since 3.11
 	 */
-	public static final EPackage OCL_ROOT_PACKAGE;
+	public static class OCLPackageImpl extends EPackageImpl {
 
-	static {
-		class OCLPackageImpl
-				extends EPackageImpl {
+		public static final OCLPackageImpl eINSTANCE = new OCLPackageImpl();
 
-			@Override
-			protected Resource createResource(String uri) {
-				return super.createResource(uri);
-			}
+		private OCLPackageImpl() {
+			setName("ocl"); //$NON-NLS-1$
+			setNsPrefix("ocl"); //$NON-NLS-1$
+			setNsURI(Environment.OCL_NAMESPACE_URI);
+			createResource(getNsURI());
+			EPackage.Registry.INSTANCE.put(getNsURI(), this);
 		}
 
-		OCLPackageImpl oclPackage = new OCLPackageImpl();
-		oclPackage.setName("ocl"); //$NON-NLS-1$
-		oclPackage.setNsPrefix("ocl"); //$NON-NLS-1$
-		oclPackage.setNsURI(Environment.OCL_NAMESPACE_URI);
-		oclPackage.createResource(oclPackage.getNsURI());
-
-		OCL_ROOT_PACKAGE = oclPackage;
-		EPackage.Registry.INSTANCE.put(OCL_ROOT_PACKAGE.getNsURI(),
-			OCL_ROOT_PACKAGE);
+		@Override
+		protected Resource createResource(String uri) {
+			return super.createResource(uri);
+		}
 	}
 
 	/**
+	 * The legacy reference to the root EPackage.
+	 */
+	public static final EPackage OCL_ROOT_PACKAGE = OCLPackageImpl.eINSTANCE;
+
+	/**
 	 * Creates an instance of the model <b>Package</b>, registered with
 	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
 	 * package URI value.
diff --git a/tests/org.eclipse.ocl.ecore.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.ocl.ecore.tests/META-INF/MANIFEST.MF
index dd336f1..d92d59f 100644
--- a/tests/org.eclipse.ocl.ecore.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.ocl.ecore.tests/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.ocl.ecore.tests;singleton:=true
-Bundle-Version: 3.10.400.qualifier
+Bundle-Version: 3.15.0.qualifier
 Bundle-ClassPath: .
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
diff --git a/tests/org.eclipse.ocl.ecore.tests/pom.xml b/tests/org.eclipse.ocl.ecore.tests/pom.xml
index 9beefc5..b95b140 100644
--- a/tests/org.eclipse.ocl.ecore.tests/pom.xml
+++ b/tests/org.eclipse.ocl.ecore.tests/pom.xml
@@ -4,7 +4,7 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.eclipse.ocl</groupId>
   <artifactId>org.eclipse.ocl.ecore.tests</artifactId>
-  <version>3.10.400-SNAPSHOT</version>
+  <version>3.15.0-SNAPSHOT</version>
   <packaging>eclipse-test-plugin</packaging>
   <parent>
     <groupId>org.eclipse.ocl</groupId>
