diff --git a/pywps/app/Service.py b/pywps/app/Service.py
index 56e243e85..e93ca266a 100644
--- a/pywps/app/Service.py
+++ b/pywps/app/Service.py
@@ -28,13 +28,15 @@ class Service(object):
 
     :param processes: A list of :class:`~Process` objects that are
                       provided by this service.
+
+    :param cfgfiles: A list of configuration files
     """
 
-    def __init__(self, processes=[], cfgfile=None):
+    def __init__(self, processes=[], cfgfiles=None):
         self.processes = {p.identifier: p for p in processes}
 
-        if cfgfile:
-            config.load_configuration(cfgfile)
+        if cfgfiles:
+            config.load_configuration(cfgfiles)
 
         if config.get_config_value('server', 'logfile') and config.get_config_value('server', 'loglevel'):
             LOGGER.setLevel(getattr(logging, config.get_config_value('server', 'loglevel')))
diff --git a/pywps/configuration.py b/pywps/configuration.py
index 9e6d7ab3f..54de35c11 100755
--- a/pywps/configuration.py
+++ b/pywps/configuration.py
@@ -75,6 +75,8 @@ def load_configuration(cfgfiles=None):
     """Load PyWPS configuration from configuration files.
     The later configuration file in the array overwrites configuration
     from the first.
+
+    :param cfgfiles: list of configuration files
     """
 
     global config
@@ -130,8 +132,8 @@ def load_configuration(cfgfiles=None):
     if not cfgfiles:
         cfgfiles = _get_default_config_files_location()
 
-    if type(cfgfiles) != type(()):
-        cfgfiles = (cfgfiles)
+    if isinstance(cfgfiles, str):
+        cfgfiles = [cfgfiles]
 
     loaded_files = config.read(cfgfiles)
     if loaded_files:
diff --git a/wsgi/pywps.wsgi b/wsgi/pywps.wsgi
index 56473e91f..cb138ab3c 100644
--- a/wsgi/pywps.wsgi
+++ b/wsgi/pywps.wsgi
@@ -23,4 +23,4 @@ processes = [
     Area()
 ]
 
-application = Service(processes, '/var/www/pywps/pywps.cfg')
+application = Service(processes, ['/var/www/pywps/pywps.cfg'])