diff --git a/core/includes/config.inc b/core/includes/config.inc
index 23df9f2..51489a4 100644
--- a/core/includes/config.inc
+++ b/core/includes/config.inc
@@ -82,31 +82,7 @@ function config_get_storage_names_with_prefix($prefix = '') {
  *
  * @return
  *   An instance of the class specified in the $class parameter.
- *
- * @todo Replace with DI container.
  */
-function config($name, $class = 'Drupal\Core\Config\DrupalConfig') {
-  global $config_info;
-  static $instances = array();
-
-  if (!isset($config_info)) {
-    $config_info = array(
-      'Drupal\Core\Config\DatabaseStorage' => array(
-        'target' => 'default',
-        'read' => TRUE,
-        'write' => TRUE,
-      ),
-      'Drupal\Core\Config\FileStorage' => array(
-        'directory' => config_get_config_directory(),
-        'read' => TRUE,
-        'write' => TRUE,
-      ),
-    );
-  }
-
-  if (!isset($instances[$class])) {
-    $instances[$class] = new $class($config_info);
-  }
-
-  return $instances[$class]->load($name);
+function config($name) {
+  return drupal_container()->get('drupal.config')->load($name);
 }
diff --git a/core/lib/Drupal/Core/DependencyInjection/ContainerBuilder.php b/core/lib/Drupal/Core/DependencyInjection/ContainerBuilder.php
index b9b3431..c6760d0 100644
--- a/core/lib/Drupal/Core/DependencyInjection/ContainerBuilder.php
+++ b/core/lib/Drupal/Core/DependencyInjection/ContainerBuilder.php
@@ -24,5 +24,22 @@ class ContainerBuilder extends BaseContainerBuilder {
     // functions. This default is overridden by drupal_language_initialize()
     // during language negotiation.
     $this->register(LANGUAGE_TYPE_INTERFACE, 'Drupal\\Core\\Language\\Language');
+
+    // Register the Drupal Config system, using "drupal.config.class" and
+    // "drupal.config.storage" as parameters. These can be changed by calling
+    // drupal_container()->setParameter('drupal.config.storage') later on.
+    $this->setParameter('drupal.config.class', 'Drupal\\Core\\Config\\DrupalConfig');
+    $this->setParameter('drupal.config.storage', array(
+      'Drupal\Core\Config\DatabaseStorage' => array(
+        'read' => TRUE,
+        'write' => TRUE,
+      ),
+      'Drupal\Core\Config\FileStorage' => array(
+        'read' => TRUE,
+        'write' => TRUE,
+      ),
+    ));
+    $this->register('drupal.config', '%drupal.config.class%')
+      ->addArgument('%drupal.config.storage%');
   }
 }
