diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/reconcile/DelegatingSourceValidatorForXML.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/reconcile/DelegatingSourceValidatorForXML.java
index dd663d0..36bd1ea 100644
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/reconcile/DelegatingSourceValidatorForXML.java
+++ b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/reconcile/DelegatingSourceValidatorForXML.java
@@ -11,9 +11,8 @@
 
 package org.eclipse.wst.xml.ui.reconcile;
 
-import org.eclipse.wst.validation.core.IValidationRegistry;
+import org.eclipse.wst.validation.ValidationFactory;
 import org.eclipse.wst.validation.core.IValidator;
-import org.eclipse.wst.validation.internal.ValidationRegistryReader;
 
 /**
  * @author Mark Hutchinson
@@ -28,8 +27,7 @@
 
 	protected IValidator getDelegateValidator() {
 		try {
-			IValidationRegistry registry = ValidationRegistryReader.getReader();
-			return registry.getValidator(VALIDATOR_CLASS);
+			return ValidationFactory.instance.getValidator(VALIDATOR_CLASS);
 		}
 		catch (Exception e) { //
 		}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/reconcile/DelegatingSourceValidatorForXSD.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/reconcile/DelegatingSourceValidatorForXSD.java
index bef0ed4..95604db 100644
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/reconcile/DelegatingSourceValidatorForXSD.java
+++ b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/reconcile/DelegatingSourceValidatorForXSD.java
@@ -3,9 +3,8 @@
  */
 package org.eclipse.wst.xsd.ui.reconcile;
 
-import org.eclipse.wst.validation.core.IValidationRegistry;
+import org.eclipse.wst.validation.ValidationFactory;
 import org.eclipse.wst.validation.core.IValidator;
-import org.eclipse.wst.validation.internal.ValidationRegistryReader;
 import org.eclipse.wst.xml.ui.reconcile.DelegatingSourceValidator;
 
 /**
@@ -25,8 +24,7 @@
   {
     try
     {
-		IValidationRegistry registry = ValidationRegistryReader.getReader();
-      return registry.getValidator(VALIDATOR_CLASS);
+		return ValidationFactory.instance.getValidator(VALIDATOR_CLASS);
     }
     catch (Exception e)
     { //
