diff --git a/SDT/schema4.0/etc/domain.rnc b/SDT/schema4.0/etc/domain.rnc
index 2289ff8ab31a3ca42f15674efe8d25cfbdb2a883..0b395f54ee8b136f9cd5258f25ec1234647dc76b 100644
--- a/SDT/schema4.0/etc/domain.rnc
+++ b/SDT/schema4.0/etc/domain.rnc
@@ -134,11 +134,11 @@ ProductClassesDef =
       attribute id { xsd:Name },
       attribute semanticURI { xsd:anyURI }?,
       DocDef,
+      ExtendDef?,
       PropertiesDef?,
       ModuleClassesDef?,
       SubDevicesRef?,
-      element DeviceClass { ExtendDef }?,
-      ExtendDef?
+      element DeviceClass { ExtendDef }?
     }+
   }
 Actions =
diff --git a/SDT/schema4.0/src/domain.rng b/SDT/schema4.0/src/domain.rng
index ee5e7b9940f02ca8214b9258139f7f64e82df5bc..66352e0316657c20bd44944d2ef8ad002117465a 100644
--- a/SDT/schema4.0/src/domain.rng
+++ b/SDT/schema4.0/src/domain.rng
@@ -379,6 +379,9 @@
 						</attribute>
 					</optional>
 					<ref name="DocDef"/>
+					<optional>
+						<ref name="ExtendDef" />
+					</optional>
 					<optional>
 						<ref name="PropertiesDef"/>
 					</optional>
@@ -393,9 +396,6 @@
 							<ref name="ExtendDef" />
 						</element>
 					</optional>
-					<optional>
-						<ref name="ExtendDef" />
-					</optional>
 				</element>
 			</oneOrMore>
 		</element>
diff --git a/SDT/schema4.0/src/domain.xsd b/SDT/schema4.0/src/domain.xsd
index acb2e93ad1fa3d4eda8e27c4bd95b40692df196d..7759d6fd2c4a89609548e6777ad3ffb28b88a04f 100644
--- a/SDT/schema4.0/src/domain.xsd
+++ b/SDT/schema4.0/src/domain.xsd
@@ -287,6 +287,7 @@
       <xs:complexContent>
         <xs:extension base="DocDef">
           <xs:sequence>
+            <xs:element minOccurs="0" ref="Extend"/>
             <xs:element minOccurs="0" ref="Properties"/>
             <xs:element minOccurs="0" ref="ModuleClasses"/>
             <xs:element minOccurs="0" ref="SubDevices"/>
@@ -297,7 +298,6 @@
                 </xs:sequence>
               </xs:complexType>
             </xs:element>
-            <xs:element minOccurs="0" ref="Extend"/>
           </xs:sequence>
           <xs:attribute name="id" use="required" type="xs:Name"/>
           <xs:attribute name="semanticURI" type="xs:anyURI"/>
diff --git a/SDT/schema4.0/test/product-test.xml b/SDT/schema4.0/test/productClass-test.xml
similarity index 83%
rename from SDT/schema4.0/test/product-test.xml
rename to SDT/schema4.0/test/productClass-test.xml
index 719eee334d4d5234b8944d06f0eb35836f7fff6d..23d2662967106a5a3eb4ad61f77698af78d9ee9d 100644
--- a/SDT/schema4.0/test/product-test.xml
+++ b/SDT/schema4.0/test/productClass-test.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
 <Domain xmlns="http://www.onem2m.org/xml/sdt/4.0" xmlns:xi="http://www.w3.org/2001/XInclude" id="productClass-test" >
 	<ProductClasses>
-		<ProductClass id="TestProduct" semanticURI="http://example.com/TestProduct.rdf">
+		<ProductClass id="TestProductClass" semanticURI="http://example.com/TestProduct.rdf">
 			<Doc>This is a test product</Doc>
 			<Properties>
 				<Property name="aProperty">
@@ -33,13 +33,13 @@
 
 		<!-- Derived ProductClass -->
 
-		<ProductClass id="DerivedProduct" semanticURI="http://example.com/DerivedProduct.rdf">
+		<ProductClass id="DerivedProductClass" semanticURI="http://example.com/DerivedProduct.rdf">
+			<Extend domain="productClass.test" entity="TestProductClass" />
 			<ModuleClasses>
 				<ModuleClass name="anotherModuleClass">
 					<Extend domain="hgi.dal.core" entity="BooleanState" />
 				</ModuleClass>
 			</ModuleClasses>
-			<Extend domain="productClass.test" entity="TestProduct" />
 		</ProductClass>
 	</ProductClasses>
 </Domain>
\ No newline at end of file