diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/model/DefaultFeatureParser.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/model/DefaultFeatureParser.java
index 069cbee..c5dee4a 100644
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/model/DefaultFeatureParser.java
+++ b/update/org.eclipse.update.core/src/org/eclipse/update/core/model/DefaultFeatureParser.java
@@ -846,7 +846,7 @@
 			searchLocation = IUpdateConstants.SEARCH_SELF;				
 		includedFeature.setSearchLocation(searchLocation);
 
-		// os arch ws
+		// os arch ws nl
 		String os = attributes.getValue("os");
 		includedFeature.setOS(os);
 
@@ -856,6 +856,9 @@
 		String arch = attributes.getValue("arch");
 		includedFeature.setArch(arch);
 
+		String nl = attributes.getValue("nl"); //$NON-NLS-1$
+		includedFeature.setNL(nl);
+		
 		objectStack.push(includedFeature);
 
 		if (UpdateCore.DEBUG && UpdateCore.DEBUG_SHOW_PARSING) {
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/model/IncludedFeatureReferenceModel.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/model/IncludedFeatureReferenceModel.java
index 4fbb9aa..7a55f27 100644
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/model/IncludedFeatureReferenceModel.java
+++ b/update/org.eclipse.update.core/src/org/eclipse/update/core/model/IncludedFeatureReferenceModel.java
@@ -29,11 +29,12 @@
 	private boolean isOptional;
 	private int searchLocation;
 	
-	// since 2.1
-	private String os;
-	private String ws;
-	private String arch;
-	private String nl;
+	// Reuse the fields defined in FeatureReferenceModel, do not duplicate them.
+//	// since 2.1
+//	private String os;
+//	private String ws;
+//	private String arch;
+//	private String nl;
 	
 	/**
 	 * Construct a included feature reference
@@ -149,68 +150,4 @@
 		this.searchLocation = searchLocation;
 	}
 
-	/**
-	 * Returns the arch.
-	 * @return String
-	 */
-	public String getOSArch() {
-		return arch;
-	}
-
-	/**
-	 * Returns the os.
-	 * @return String
-	 */
-	public String getOS() {
-		return os;
-	}
-
-	/**
-	 * Returns the ws.
-	 * @return String
-	 */
-	public String getWS() {
-		return ws;
-	}
-
-	/**
-	 * Sets the arch.
-	 * @param arch The arch to set
-	 */
-	public void setArch(String arch) {
-		this.arch = arch;
-	}
-
-	/**
-	 * Sets the os.
-	 * @param os The os to set
-	 */
-	public void setOS(String os) {
-		this.os = os;
-	}
-
-	/**
-	 * Sets the ws.
-	 * @param ws The ws to set
-	 */
-	public void setWS(String ws) {
-		this.ws = ws;
-	}
-
-	/**
-	 * Returns the nl.
-	 * @return String
-	 */
-	public String getNL() {
-		return nl;
-	}
-
-	/**
-	 * Sets the nl.
-	 * @param nl The nl to set
-	 */
-	public void setNL(String nl) {
-		this.nl = nl;
-	}
-
 }
