diff --git a/connector/src/main/java/org/jboss/as/connector/subsystems/datasources/DataSourceModelNodeUtil.java b/connector/src/main/java/org/jboss/as/connector/subsystems/datasources/DataSourceModelNodeUtil.java
index e3a25c3..ae15cf4 100644
--- a/connector/src/main/java/org/jboss/as/connector/subsystems/datasources/DataSourceModelNodeUtil.java
+++ b/connector/src/main/java/org/jboss/as/connector/subsystems/datasources/DataSourceModelNodeUtil.java
@@ -90,7 +90,6 @@ import java.util.Map;
 import org.jboss.as.controller.OperationContext;
 import org.jboss.as.controller.OperationFailedException;
 import org.jboss.as.controller.SimpleAttributeDefinition;
-import org.jboss.as.controller.operations.common.Util;
 import org.jboss.dmr.ModelNode;
 import org.jboss.dmr.Property;
 import org.jboss.jca.common.api.metadata.Defaults;
@@ -363,7 +362,7 @@ class DataSourceModelNodeUtil {
 
     private static String getResolvedStringIfSetOrGetDefault(final OperationContext context, final ModelNode dataSourceNode, final SimpleAttributeDefinition key, final String defaultValue) throws OperationFailedException {
         if (dataSourceNode.hasDefined(key.getName())) {
-            return Util.resolveSystemProperty(context.resolveExpressions(dataSourceNode.get(key.getName())).asString());
+            return context.resolveExpressions(dataSourceNode.get(key.getName())).asString();
         } else {
             return defaultValue;
         }
@@ -371,7 +370,7 @@ class DataSourceModelNodeUtil {
 
     private static String getStringIfSetOrGetDefault(final ModelNode dataSourceNode, final SimpleAttributeDefinition key, final String defaultValue) {
         if (dataSourceNode.hasDefined(key.getName())) {
-            String returnValue = Util.resolveSystemProperty(dataSourceNode.get(key.getName()).asString());
+            String returnValue = dataSourceNode.get(key.getName()).asString();
             return (returnValue != null && returnValue.trim().length() != 0) ? returnValue : null;
         } else {
             return defaultValue;
diff --git a/controller/src/main/java/org/jboss/as/controller/operations/common/Util.java b/controller/src/main/java/org/jboss/as/controller/operations/common/Util.java
index 59de422..6d7fe8e 100644
--- a/controller/src/main/java/org/jboss/as/controller/operations/common/Util.java
+++ b/controller/src/main/java/org/jboss/as/controller/operations/common/Util.java
@@ -129,35 +129,4 @@ public class Util {
 
         return null;
     }
-
-    public static String resolveSystemProperty(String text){
-        while (true){
-            int idx1 = text.indexOf("${");
-            int idx2 = text.indexOf("}");
-
-            if (idx1 == -1)
-                return text;
-
-            String name = text.substring(idx1 +2, idx2);
-            String value= System.getProperty(name);
-
-            if (value != null)
-                text = replaceString(text, "${"+ name +"}", value);
-            else
-                return text.substring(0, idx2 + 1) + resolveSystemProperty(text.substring(idx2 + 1));
-            }
-    }
-
-    private static String replaceString(String s, String pattern, String newPattern){
-        String r = "";
-
-        int i;
-
-        while ((i = s.indexOf(pattern)) != -1){
-            r += s.substring(0, i) + newPattern;
-            s = s.substring(i + pattern.length());
-        }
-
-        return r + s;
-    }
 }
diff --git a/jpa/core/src/main/java/org/jboss/as/jpa/puparser/PersistenceUnitXmlParser.java b/jpa/core/src/main/java/org/jboss/as/jpa/puparser/PersistenceUnitXmlParser.java
index ad888d0..347ae02 100644
--- a/jpa/core/src/main/java/org/jboss/as/jpa/puparser/PersistenceUnitXmlParser.java
+++ b/jpa/core/src/main/java/org/jboss/as/jpa/puparser/PersistenceUnitXmlParser.java
@@ -36,7 +36,6 @@ import javax.xml.stream.XMLInputFactory;
 import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamReader;
 
-import org.jboss.as.controller.operations.common.Util;
 import org.jboss.as.jpa.config.PersistenceUnitMetadataHolder;
 import org.jboss.as.jpa.config.PersistenceUnitMetadataImpl;
 import org.jboss.as.jpa.spi.PersistenceUnitMetadata;
@@ -192,15 +191,15 @@ public class PersistenceUnitXmlParser extends MetaDataElementParser {
             }
             switch (element) {
                 case CLASS:
-                    classes.add(Util.resolveSystemProperty(reader.getElementText()));
+                    classes.add(reader.getElementText());
                     break;
 
                 case DESCRIPTION:
-                    final String description = Util.resolveSystemProperty(reader.getElementText());
+                    final String description = reader.getElementText();
                     break;
 
                 case EXCLUDEUNLISTEDCLASSES:
-                    String text = Util.resolveSystemProperty(reader.getElementText());
+                    String text = reader.getElementText();
                     if (text == null || text.isEmpty()) {
                         //the spec has examples where an empty
                         //exclude-unlisted-classes element has the same
@@ -212,20 +211,20 @@ public class PersistenceUnitXmlParser extends MetaDataElementParser {
                     break;
 
                 case JARFILE:
-                    String file = Util.resolveSystemProperty(reader.getElementText());
+                    String file = reader.getElementText();
                     jarfiles.add(file);
                     break;
 
                 case JTADATASOURCE:
-                    pu.setJtaDataSourceName(Util.resolveSystemProperty(reader.getElementText()));
+                    pu.setJtaDataSourceName(reader.getElementText());
                     break;
 
                 case NONJTADATASOURCE:
-                    pu.setNonJtaDataSourceName(Util.resolveSystemProperty(reader.getElementText()));
+                    pu.setNonJtaDataSourceName(reader.getElementText());
                     break;
 
                 case MAPPINGFILE:
-                    mappingFiles.add(Util.resolveSystemProperty(reader.getElementText()));
+                    mappingFiles.add(reader.getElementText());
                     break;
 
                 case PROPERTIES:
@@ -233,16 +232,16 @@ public class PersistenceUnitXmlParser extends MetaDataElementParser {
                     break;
 
                 case PROVIDER:
-                    pu.setPersistenceProviderClassName(Util.resolveSystemProperty(reader.getElementText()));
+                    pu.setPersistenceProviderClassName(reader.getElementText());
                     break;
 
                 case SHAREDCACHEMODE:
-                    String cm = Util.resolveSystemProperty(reader.getElementText());
+                    String cm = reader.getElementText();
                     pu.setSharedCacheMode(SharedCacheMode.valueOf(cm));
                     break;
 
                 case VALIDATIONMODE:
-                    String validationMode = Util.resolveSystemProperty(reader.getElementText());
+                    String validationMode = reader.getElementText();
                     pu.setValidationMode(ValidationMode.valueOf(validationMode));
                     break;
 
diff --git a/web/src/main/java/org/jboss/as/web/WebConnectorService.java b/web/src/main/java/org/jboss/as/web/WebConnectorService.java
index fbcee2c..6987545 100644
--- a/web/src/main/java/org/jboss/as/web/WebConnectorService.java
+++ b/web/src/main/java/org/jboss/as/web/WebConnectorService.java
@@ -34,7 +34,6 @@ import org.apache.catalina.connector.Connector;
 import org.apache.coyote.ajp.AjpAprProtocol;
 import org.apache.coyote.http11.Http11AprProtocol;
 import org.apache.coyote.http11.Http11Protocol;
-import org.jboss.as.controller.operations.common.Util;
 import org.jboss.as.network.ManagedBinding;
 import org.jboss.as.network.SocketBinding;
 import org.jboss.dmr.ModelNode;
@@ -159,23 +158,23 @@ class WebConnectorService implements Service<Connector> {
                     try {
                         if (ssl.hasDefined(Constants.PASSWORD)) {
                             Method m = connector.getProtocolHandler().getClass().getMethod("setSSLPassword", String.class);
-                            m.invoke(connector.getProtocolHandler(), Util.resolveSystemProperty(unmaskedPassword));
+                            m.invoke(connector.getProtocolHandler(), unmaskedPassword);
                         }
                         if (ssl.hasDefined(Constants.CERTIFICATE_KEY_FILE)) {
                             Method m = connector.getProtocolHandler().getClass().getMethod("setSSLCertificateKeyFile", String.class);
-                            m.invoke(connector.getProtocolHandler(), Util.resolveSystemProperty(ssl.get(Constants.CERTIFICATE_KEY_FILE).asString()));
+                            m.invoke(connector.getProtocolHandler(), ssl.get(Constants.CERTIFICATE_KEY_FILE).asString());
                         }
                         if (ssl.hasDefined(Constants.CIPHER_SUITE)) {
                             Method m = connector.getProtocolHandler().getClass().getMethod("setSSLCipherSuite", String.class);
-                            m.invoke(connector.getProtocolHandler(), Util.resolveSystemProperty(ssl.get(Constants.CIPHER_SUITE).asString()));
+                            m.invoke(connector.getProtocolHandler(), ssl.get(Constants.CIPHER_SUITE).asString());
                         }
                         if (ssl.hasDefined(Constants.PROTOCOL)) {
                             Method m = connector.getProtocolHandler().getClass().getMethod("setSSLProtocol", String.class);
-                            m.invoke(connector.getProtocolHandler(), Util.resolveSystemProperty(ssl.get(Constants.PROTOCOL).asString()));
+                            m.invoke(connector.getProtocolHandler(), ssl.get(Constants.PROTOCOL).asString());
                         }
                         if (ssl.hasDefined(Constants.VERIFY_CLIENT)) {
                             Method m = connector.getProtocolHandler().getClass().getMethod("setSSLVerifyClient", String.class);
-                            m.invoke(connector.getProtocolHandler(), Util.resolveSystemProperty(ssl.get(Constants.VERIFY_CLIENT).asString()));
+                            m.invoke(connector.getProtocolHandler(), ssl.get(Constants.VERIFY_CLIENT).asString());
                         }
                         if (ssl.hasDefined(Constants.VERIFY_DEPTH)) {
                             Method m = connector.getProtocolHandler().getClass().getMethod("setSSLVerifyDepth", Integer.TYPE);
@@ -183,15 +182,15 @@ class WebConnectorService implements Service<Connector> {
                         }
                         if (ssl.hasDefined(Constants.CERTIFICATE_FILE)) {
                             Method m = connector.getProtocolHandler().getClass().getMethod("setSSLCertificateFile", String.class);
-                            m.invoke(connector.getProtocolHandler(), Util.resolveSystemProperty(ssl.get(Constants.CERTIFICATE_FILE).asString()));
+                            m.invoke(connector.getProtocolHandler(), ssl.get(Constants.CERTIFICATE_FILE).asString());
                         }
                         if (ssl.hasDefined(Constants.CA_CERTIFICATE_FILE)) {
                             Method m = connector.getProtocolHandler().getClass().getMethod("setSSLCACertificateFile", String.class);
-                            m.invoke(connector.getProtocolHandler(), Util.resolveSystemProperty(ssl.get(Constants.CA_CERTIFICATE_FILE).asString()));
+                            m.invoke(connector.getProtocolHandler(), ssl.get(Constants.CA_CERTIFICATE_FILE).asString());
                         }
                         if (ssl.hasDefined(Constants.CA_REVOCATION_URL)) {
                             Method m = connector.getProtocolHandler().getClass().getMethod("setSSLCARevocationFile", String.class);
-                            m.invoke(connector.getProtocolHandler(), Util.resolveSystemProperty(ssl.get(Constants.CA_REVOCATION_URL).asString()));
+                            m.invoke(connector.getProtocolHandler(), ssl.get(Constants.CA_REVOCATION_URL).asString());
                         }
                    } catch (NoSuchMethodException e) {
                        throw new StartException(MESSAGES.failedSSLConfiguration(), e);
@@ -201,35 +200,35 @@ class WebConnectorService implements Service<Connector> {
                     try {
                         if (ssl.hasDefined(Constants.KEY_ALIAS)) {
                             Method m = connector.getProtocolHandler().getClass().getMethod("setKeyAlias", String.class);
-                            m.invoke(connector.getProtocolHandler(), Util.resolveSystemProperty(ssl.get(Constants.KEY_ALIAS).asString()));
+                            m.invoke(connector.getProtocolHandler(), ssl.get(Constants.KEY_ALIAS).asString());
                         }
                         if (ssl.hasDefined(Constants.PASSWORD)) {
                             Method m = connector.getProtocolHandler().getClass().getMethod("setKeypass", String.class);
-                            m.invoke(connector.getProtocolHandler(), Util.resolveSystemProperty(unmaskedPassword));
+                            m.invoke(connector.getProtocolHandler(), unmaskedPassword);
                         }
                         if (ssl.hasDefined(Constants.CERTIFICATE_KEY_FILE)) {
                             Method m = connector.getProtocolHandler().getClass().getMethod("setKeystore", String.class);
-                            m.invoke(connector.getProtocolHandler(), Util.resolveSystemProperty(ssl.get(Constants.CERTIFICATE_KEY_FILE).asString()));
+                            m.invoke(connector.getProtocolHandler(), ssl.get(Constants.CERTIFICATE_KEY_FILE).asString());
                         }
                         if (ssl.hasDefined(Constants.CIPHER_SUITE)) {
                             Method m = connector.getProtocolHandler().getClass().getMethod("setCiphers", String.class);
-                            m.invoke(connector.getProtocolHandler(), Util.resolveSystemProperty(ssl.get(Constants.CIPHER_SUITE).asString()));
+                            m.invoke(connector.getProtocolHandler(), ssl.get(Constants.CIPHER_SUITE).asString());
                         }
                         if (ssl.hasDefined(Constants.PROTOCOL)) {
                             Method m = connector.getProtocolHandler().getClass().getMethod("setProtocols", String.class);
-                            m.invoke(connector.getProtocolHandler(), Util.resolveSystemProperty(ssl.get(Constants.PROTOCOL).asString()));
+                            m.invoke(connector.getProtocolHandler(), ssl.get(Constants.PROTOCOL).asString());
                         }
                         if (ssl.hasDefined(Constants.VERIFY_CLIENT)) {
                             Method m = connector.getProtocolHandler().getClass().getMethod("setClientauth", String.class);
-                            m.invoke(connector.getProtocolHandler(), Util.resolveSystemProperty(ssl.get(Constants.VERIFY_CLIENT).asString()));
+                            m.invoke(connector.getProtocolHandler(), ssl.get(Constants.VERIFY_CLIENT).asString());
                         }
                         if (ssl.hasDefined(Constants.SESSION_CACHE_SIZE)) {
                             Method m = connector.getProtocolHandler().getClass().getMethod("setAttribute", String.class, Object.class);
-                            m.invoke(connector.getProtocolHandler(), "sessionCacheSize", Util.resolveSystemProperty(ssl.get(Constants.SESSION_CACHE_SIZE).asString()));
+                            m.invoke(connector.getProtocolHandler(), "sessionCacheSize", ssl.get(Constants.SESSION_CACHE_SIZE).asString());
                         }
                         if (ssl.hasDefined(Constants.SESSION_TIMEOUT)) {
                             Method m = connector.getProtocolHandler().getClass().getMethod("setAttribute", String.class, Object.class);
-                            m.invoke(connector.getProtocolHandler(), "sessionCacheTimeout", Util.resolveSystemProperty(ssl.get(Constants.SESSION_TIMEOUT).asString()));
+                            m.invoke(connector.getProtocolHandler(), "sessionCacheTimeout", ssl.get(Constants.SESSION_TIMEOUT).asString());
                         }
                         /* possible attributes that apply to ssl socket factory
                             keystoreType -> PKCS12
@@ -241,24 +240,24 @@ class WebConnectorService implements Service<Connector> {
                          */
                         if (ssl.hasDefined(Constants.CA_CERTIFICATE_FILE)) {
                             Method m = connector.getProtocolHandler().getClass().getMethod("setAttribute", String.class, Object.class);
-                            m.invoke(connector.getProtocolHandler(), "truststoreFile", Util.resolveSystemProperty(ssl.get(Constants.CA_CERTIFICATE_FILE).asString()));
+                            m.invoke(connector.getProtocolHandler(), "truststoreFile", ssl.get(Constants.CA_CERTIFICATE_FILE).asString());
 
                         }
                         if (ssl.hasDefined(Constants.CA_CERTIFICATE_PASSWORD)) {
                             Method m = connector.getProtocolHandler().getClass().getMethod("setAttribute", String.class, Object.class);
-                            m.invoke(connector.getProtocolHandler(), "truststorePass", Util.resolveSystemProperty(ssl.get(Constants.CA_CERTIFICATE_PASSWORD).asString()));
+                            m.invoke(connector.getProtocolHandler(), "truststorePass",ssl.get(Constants.CA_CERTIFICATE_PASSWORD).asString());
                         }
                         if (ssl.hasDefined(Constants.TRUSTSTORE_TYPE)) {
                             Method m = connector.getProtocolHandler().getClass().getMethod("setAttribute", String.class, Object.class);
-                            m.invoke(connector.getProtocolHandler(), "truststoreType", Util.resolveSystemProperty(ssl.get(Constants.TRUSTSTORE_TYPE).asString()));
+                            m.invoke(connector.getProtocolHandler(), "truststoreType",ssl.get(Constants.TRUSTSTORE_TYPE).asString());
                         }
                         if (ssl.hasDefined(Constants.KEYSTORE_TYPE)) {
                             Method m = connector.getProtocolHandler().getClass().getMethod("setKeytype", String.class);
-                            m.invoke(connector.getProtocolHandler(), Util.resolveSystemProperty(ssl.get(Constants.KEYSTORE_TYPE).asString()));
+                            m.invoke(connector.getProtocolHandler(), ssl.get(Constants.KEYSTORE_TYPE).asString());
                         }
                         if (ssl.hasDefined(Constants.CA_REVOCATION_URL)) {
                             Method m = connector.getProtocolHandler().getClass().getMethod("setAttribute", String.class, Object.class);
-                            m.invoke(connector.getProtocolHandler(), "crlFile", Util.resolveSystemProperty(ssl.get(Constants.CA_REVOCATION_URL).asString()));
+                            m.invoke(connector.getProtocolHandler(), "crlFile", ssl.get(Constants.CA_REVOCATION_URL).asString());
                         }
 
                     } catch (NoSuchMethodException e) {
