diff --git a/apachesolr.admin.inc b/apachesolr.admin.inc
index c7b5830..4443988 100644
--- a/apachesolr.admin.inc
+++ b/apachesolr.admin.inc
@@ -688,30 +688,64 @@ function apachesolr_mlt_add_block_form_submit($form, &$form_state) {
  * Page callback to show available conf files.
  */
 function apachesolr_config_files_overview() {
-  $output = array();
   $xml = NULL;
   try {
     $solr = apachesolr_get_solr();
-    $response = $solr->makeServletRequest('admin/file');
+    $response = $solr->makeServletRequest('admin/file', array('wt' => 'xml'));
     $xml = simplexml_load_string($response->data);
   }
   catch (Exception $e) {
     watchdog('Apache Solr', nl2br(check_plain($e->getMessage())), NULL, WATCHDOG_ERROR);
     drupal_set_message(nl2br(check_plain($e->getMessage())), "warning");
   }
+
   if ($xml) {
-    $files = $xml->xpath('//lst[@name="files"]/lst');
-    $items = array();
-    foreach ($files as $file) {
-      $atr = $file->attributes();
-      $name = (string) $atr[0];
-      $str = l($name, 'admin/reports/apachesolr/conf/' . $name);
-      $str .= '<br />' . format_date(strtotime((string) $file->date));
-      $str .= '<br />' . t('Size (bytes): @bytes', array('@bytes' => (string) $file->long));
-      $items[$name] = $str;
-    }
-    ksort($items);
-    $output = theme('item_list', array('items' => array_values($items)));
+    // Retrieve our items from the xml using xpath
+    $items = $xml->xpath('//lst[@name="files"]/lst');
+
+    // Add all the data of the file in a files array
+    $files = array();
+    foreach ($items as $item_id => $item) {
+      // Do not list directories. Always a bool
+      if (isset($item->bool)) {
+        break;
+      }
+      // Get data from the files.
+      $name =  $item->attributes();
+      $name = ((string)$item->attributes()) ? (string)$item->attributes() : t('No name found');
+      $files[$item_id]['name'] = l($name, 'admin/reports/apachesolr/conf/' . $name);
+
+      // Retrieve the date attribute
+      if (isset($item->date)) {
+        $modified = ((string)$item->date->attributes() == 'modified') ? (string) $item->date : t('No date found');
+        $files[$item_id]['modified'] = format_date(strtotime($modified));
+      }
+
+      // Retrieve the size attribute
+      if (isset($item->long)) {
+        $size = ((string)$item->long->attributes() == 'size') ? (string) $item->long : t('No size found');
+        $files[$item_id]['size'] = t('Size (bytes): @bytes', array('@bytes' => $size));
+      }
+    }
+    // Sort our files alphabetically
+    ksort($files);
+
+    // Initializes table header.
+    $header = array(
+      'name' => t('File name'),
+      'date' => t('Modified'),
+      'size' => t('Size'),
+    );
+
+    // Display the table of field names, index types, and term counts.
+    $variables = array(
+      'header' => $header,
+      'rows' => $files,
+    );
+    $output = theme('table', $variables);
+  }
+  else {
+    $output = '<p>' . t('No data about any file found.') . "</p>\n";
   }
   return $output;
 }
diff --git a/solr-conf/solrconfig.xml b/solr-conf/solrconfig.xml
index 0505e6e..f9f69f1 100644
--- a/solr-conf/solrconfig.xml
+++ b/solr-conf/solrconfig.xml
@@ -643,6 +643,18 @@
     </lst>
   </requestHandler>
 
+  <!-- Files that are needed to start the service -->
+  <requestHandler name="/admin/file" class="org.apache.solr.handler.admin.ShowFileRequestHandler" >
+    <lst name="invariants">
+     <str name="hidden">admin-extra.html</str>
+     <str name="hidden">scripts.conf</str>
+     <str name="hidden">xslt/example.xsl</str>
+     <str name="hidden">xslt/example_atom.xsl</str>
+     <str name="hidden">xslt/example_rss.xsl</str>
+     <str name="hidden">xslt/luke.xsl</str>
+    </lst>
+  </requestHandler>
+
   <!-- Echo the request contents back to the client -->
   <requestHandler name="/debug/dump" class="solr.DumpRequestHandler" >
     <lst name="defaults">
@@ -719,17 +731,6 @@
   <!-- config for the admin interface -->
   <admin>
     <defaultQuery>solr</defaultQuery>
-
-    <gettableFiles>
-         solrconfig.xml
-         schema.xml
-         elevate.xml
-         mapping-ISOLatin1Accent.txt
-         protwords.txt
-         stopwords.txt
-         synonyms.txt
-    </gettableFiles>   
-
     <!-- configure a healthcheck file for servers behind a loadbalancer
     <healthcheck type="file">server-enabled</healthcheck>
     -->
