diff --git a/apps/dav/lib/Settings/CalDAVSettings.php b/apps/dav/lib/Settings/CalDAVSettings.php
index a419afa1c5570a5189273433024f9d8d3d11b32c..e4b4ca6452b7108d7571962536bf6d051fa02008 100644
--- a/apps/dav/lib/Settings/CalDAVSettings.php
+++ b/apps/dav/lib/Settings/CalDAVSettings.php
@@ -57,7 +57,7 @@ class CalDAVSettings implements ISettings {
 	 * @return string
 	 */
 	public function getSection() {
-		return 'additional';
+		return 'server';
 	}
 
 	/**
diff --git a/apps/dav/tests/unit/Settings/CalDAVSettingsTest.php b/apps/dav/tests/unit/Settings/CalDAVSettingsTest.php
index 8ee58107487909b877d1bac1affa713da3cff9d9..36e2aaa9ebb9203f88921425f8960ec4d0266609 100644
--- a/apps/dav/tests/unit/Settings/CalDAVSettingsTest.php
+++ b/apps/dav/tests/unit/Settings/CalDAVSettingsTest.php
@@ -49,7 +49,7 @@ class CalDAVSettingsTest extends TestCase {
 	}
 
 	public function testGetSection() {
-		$this->assertEquals('additional', $this->settings->getSection());
+		$this->assertEquals('server', $this->settings->getSection());
 	}
 
 	public function testGetPriority() {
diff --git a/apps/federatedfilesharing/templates/settings-admin.php b/apps/federatedfilesharing/templates/settings-admin.php
index 8d04169ea891b7d7c5dd5c865ad35b7f24d8bb6b..187d75f21ac363f89e28da4d61ee127aaf0d976c 100644
--- a/apps/federatedfilesharing/templates/settings-admin.php
+++ b/apps/federatedfilesharing/templates/settings-admin.php
@@ -6,11 +6,14 @@ script('federatedfilesharing', 'settings-admin');
 
 <?php if($_['internalOnly'] === false): ?>
 
-<div id="fileSharingSettings" class="followupsection">
-	<h3><?php p($l->t('Federated Cloud Sharing'));?></h3>
-	<a target="_blank" rel="noreferrer noopener" class="icon-info svg"
-		title="<?php p($l->t('Open documentation'));?>"
-		href="<?php p(link_to_docs('admin-sharing-federated')); ?>"></a>
+<div id="fileSharingSettings" class="section">
+	<h2>
+		<?php p($l->t('Federated Cloud Sharing'));?>
+		<a target="_blank" rel="noreferrer noopener" class="icon-info svg"
+		   title="<?php p($l->t('Open documentation'));?>"
+		   href="<?php p(link_to_docs('admin-sharing-federated')); ?>"></a>
+	</h2>
+
 	<p class="settings-hint"><?php p($l->t('Adjust how people can share between servers.')); ?></p>
 
 	<p>
diff --git a/apps/federation/css/settings-admin.css b/apps/federation/css/settings-admin.css
index 3fd5f5aea6dc5cb20dee9a4f382e1eb6ec8afc9c..c4c846bd812bbe846f8b579ee37e72ddef3c9fd3 100644
--- a/apps/federation/css/settings-admin.css
+++ b/apps/federation/css/settings-admin.css
@@ -26,3 +26,7 @@
 	vertical-align: middle;
 	margin-left: 10px;
 }
+
+#ocFederationAddServer #serverUrl {
+	width: 300px;
+}
diff --git a/apps/files/lib/Settings/Admin.php b/apps/files/lib/Settings/Admin.php
index 2f4406c150b4affed1486a70915531f3b51654df..11b66dab846d2e4032c5ae60428db8149c69373d 100644
--- a/apps/files/lib/Settings/Admin.php
+++ b/apps/files/lib/Settings/Admin.php
@@ -70,7 +70,7 @@ class Admin implements ISettings {
 	 * @return string the section ID, e.g. 'sharing'
 	 */
 	public function getSection() {
-		return 'additional';
+		return 'server';
 	}
 
 	/**
diff --git a/apps/files/tests/Settings/AdminTest.php b/apps/files/tests/Settings/AdminTest.php
index 071cef7d75fbdc04653a47ae2ef960f724628894..027a37d7b2f12cf2cdeceb4e7581754ef71b255b 100644
--- a/apps/files/tests/Settings/AdminTest.php
+++ b/apps/files/tests/Settings/AdminTest.php
@@ -75,7 +75,7 @@ class AdminTest extends TestCase {
 	}
 
 	public function testGetSection() {
-		$this->assertSame('additional', $this->admin->getSection());
+		$this->assertSame('server', $this->admin->getSection());
 	}
 
 	public function testGetPriority() {
diff --git a/apps/updatenotification/lib/Settings/Admin.php b/apps/updatenotification/lib/Settings/Admin.php
index 5213eb905ee0c78b6c4ffa95204acae59bf4b727..bb12402aa0708cf29d484f7b2ce99c9f9ce6cd0d 100644
--- a/apps/updatenotification/lib/Settings/Admin.php
+++ b/apps/updatenotification/lib/Settings/Admin.php
@@ -130,7 +130,7 @@ class Admin implements ISettings {
 	 * @return string the section ID, e.g. 'sharing'
 	 */
 	public function getSection(): string {
-		return 'server';
+		return 'overview';
 	}
 
 	/**
@@ -141,6 +141,6 @@ class Admin implements ISettings {
 	 * E.g.: 70
 	 */
 	public function getPriority(): int {
-		return 1;
+		return 11;
 	}
 }
diff --git a/apps/updatenotification/tests/Settings/AdminTest.php b/apps/updatenotification/tests/Settings/AdminTest.php
index 4e2ac3a53d9f51ed16349487ad6bb372d153576e..d5915a9c1020c713844a69a17e54ab0e297882d6 100644
--- a/apps/updatenotification/tests/Settings/AdminTest.php
+++ b/apps/updatenotification/tests/Settings/AdminTest.php
@@ -140,10 +140,10 @@ class AdminTest extends TestCase {
 
 
 	public function testGetSection() {
-		$this->assertSame('server', $this->admin->getSection());
+		$this->assertSame('overview', $this->admin->getSection());
 	}
 
 	public function testGetPriority() {
-		$this->assertSame(1, $this->admin->getPriority());
+		$this->assertSame(11, $this->admin->getPriority());
 	}
 }
diff --git a/core/css/variables.scss b/core/css/variables.scss
index a60460a30881c28e49d255cce58183213a232a98..4e2c1c396cbb90668b49204aee4cf42b68c97a87 100644
--- a/core/css/variables.scss
+++ b/core/css/variables.scss
@@ -3,7 +3,7 @@ $color-main-background: #ffffff;
 $color-primary: #0082c9;
 $color-primary-text: #ffffff;
 $color-error: #e9322d;
-$color-warning: #ffcc44;
+$color-warning: #eca700;
 $color-success: #46ba61;
 $color-primary-element: $color-primary;
 
diff --git a/lib/composer/composer/autoload_classmap.php b/lib/composer/composer/autoload_classmap.php
index 6f8c4131546aeac22e337e1cfbf7ad43ee12cca1..bf223204e2bc4a99e22450d42b497cc370a05018 100644
--- a/lib/composer/composer/autoload_classmap.php
+++ b/lib/composer/composer/autoload_classmap.php
@@ -892,8 +892,9 @@ return array(
     'OC\\Settings\\Activity\\SecurityProvider' => $baseDir . '/settings/Activity/SecurityProvider.php',
     'OC\\Settings\\Activity\\SecuritySetting' => $baseDir . '/settings/Activity/SecuritySetting.php',
     'OC\\Settings\\Activity\\Setting' => $baseDir . '/settings/Activity/Setting.php',
-    'OC\\Settings\\Admin\\Additional' => $baseDir . '/lib/private/Settings/Admin/Additional.php',
     'OC\\Settings\\Admin\\Encryption' => $baseDir . '/lib/private/Settings/Admin/Encryption.php',
+    'OC\\Settings\\Admin\\Mail' => $baseDir . '/lib/private/Settings/Admin/Mail.php',
+    'OC\\Settings\\Admin\\Overview' => $baseDir . '/lib/private/Settings/Admin/Overview.php',
     'OC\\Settings\\Admin\\Server' => $baseDir . '/lib/private/Settings/Admin/Server.php',
     'OC\\Settings\\Admin\\ServerDevNotice' => $baseDir . '/lib/private/Settings/Admin/ServerDevNotice.php',
     'OC\\Settings\\Admin\\Sharing' => $baseDir . '/lib/private/Settings/Admin/Sharing.php',
diff --git a/lib/composer/composer/autoload_static.php b/lib/composer/composer/autoload_static.php
index 92726f7789d0afe5a7577782a78c71a33714f08a..cb723ef70ee31d3b0bc828e46625d30b90928802 100644
--- a/lib/composer/composer/autoload_static.php
+++ b/lib/composer/composer/autoload_static.php
@@ -922,8 +922,9 @@ class ComposerStaticInit53792487c5a8370acc0b06b1a864ff4c
         'OC\\Settings\\Activity\\SecurityProvider' => __DIR__ . '/../../..' . '/settings/Activity/SecurityProvider.php',
         'OC\\Settings\\Activity\\SecuritySetting' => __DIR__ . '/../../..' . '/settings/Activity/SecuritySetting.php',
         'OC\\Settings\\Activity\\Setting' => __DIR__ . '/../../..' . '/settings/Activity/Setting.php',
-        'OC\\Settings\\Admin\\Additional' => __DIR__ . '/../../..' . '/lib/private/Settings/Admin/Additional.php',
         'OC\\Settings\\Admin\\Encryption' => __DIR__ . '/../../..' . '/lib/private/Settings/Admin/Encryption.php',
+        'OC\\Settings\\Admin\\Mail' => __DIR__ . '/../../..' . '/lib/private/Settings/Admin/Mail.php',
+        'OC\\Settings\\Admin\\Overview' => __DIR__ . '/../../..' . '/lib/private/Settings/Admin/Overview.php',
         'OC\\Settings\\Admin\\Server' => __DIR__ . '/../../..' . '/lib/private/Settings/Admin/Server.php',
         'OC\\Settings\\Admin\\ServerDevNotice' => __DIR__ . '/../../..' . '/lib/private/Settings/Admin/ServerDevNotice.php',
         'OC\\Settings\\Admin\\Sharing' => __DIR__ . '/../../..' . '/lib/private/Settings/Admin/Sharing.php',
diff --git a/lib/private/Settings/Admin/Additional.php b/lib/private/Settings/Admin/Mail.php
similarity index 97%
rename from lib/private/Settings/Admin/Additional.php
rename to lib/private/Settings/Admin/Mail.php
index 36258573047f903a3182bb77def6f642bd085826..74a94a4c7a0710c52e35c47142a2e2f29dc4d8f1 100644
--- a/lib/private/Settings/Admin/Additional.php
+++ b/lib/private/Settings/Admin/Mail.php
@@ -29,7 +29,7 @@ use OCP\AppFramework\Http\TemplateResponse;
 use OCP\IConfig;
 use OCP\Settings\ISettings;
 
-class Additional implements ISettings {
+class Mail implements ISettings {
 	/** @var IConfig */
 	private $config;
 
@@ -70,7 +70,7 @@ class Additional implements ISettings {
 	 * @return string the section ID, e.g. 'sharing'
 	 */
 	public function getSection() {
-		return 'additional';
+		return 'server';
 	}
 
 	/**
@@ -81,6 +81,6 @@ class Additional implements ISettings {
 	 * E.g.: 70
 	 */
 	public function getPriority() {
-		return 0;
+		return 10;
 	}
 }
diff --git a/lib/private/Settings/Admin/Overview.php b/lib/private/Settings/Admin/Overview.php
new file mode 100644
index 0000000000000000000000000000000000000000..6e186dc6f9872f380c2d55112f414b1f34ae2ad3
--- /dev/null
+++ b/lib/private/Settings/Admin/Overview.php
@@ -0,0 +1,154 @@
+<?php
+/**
+ * @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>
+ *
+ * @author Julius Härtl <jus@bitgrid.net>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace OC\Settings\Admin;
+
+use Doctrine\DBAL\Connection;
+use Doctrine\DBAL\DBALException;
+use Doctrine\DBAL\Platforms\SqlitePlatform;
+use OC\Lock\DBLockingProvider;
+use OC\Lock\NoopLockingProvider;
+use OCP\AppFramework\Http\TemplateResponse;
+use OCP\IConfig;
+use OCP\IDBConnection;
+use OCP\IL10N;
+use OCP\IRequest;
+use OCP\Lock\ILockingProvider;
+use OCP\Settings\ISettings;
+
+class Overview implements ISettings {
+	/** @var IDBConnection|Connection */
+	private $db;
+	/** @var IRequest */
+	private $request;
+	/** @var IConfig */
+	private $config;
+	/** @var ILockingProvider */
+	private $lockingProvider;
+	/** @var IL10N */
+	private $l;
+
+	/**
+	 * @param IDBConnection $db
+	 * @param IRequest $request
+	 * @param IConfig $config
+	 * @param ILockingProvider $lockingProvider
+	 * @param IL10N $l
+	 */
+	public function __construct(IDBConnection $db,
+								IRequest $request,
+								IConfig $config,
+								ILockingProvider $lockingProvider,
+								IL10N $l) {
+		$this->db = $db;
+		$this->request = $request;
+		$this->config = $config;
+		$this->lockingProvider = $lockingProvider;
+		$this->l = $l;
+	}
+
+	/**
+	 * @return TemplateResponse
+	 */
+	public function getForm() {
+		try {
+			if ($this->db->getDatabasePlatform() instanceof SqlitePlatform) {
+				$invalidTransactionIsolationLevel = false;
+			} else {
+				$invalidTransactionIsolationLevel = $this->db->getTransactionIsolation() !== Connection::TRANSACTION_READ_COMMITTED;
+			}
+		} catch (DBALException $e) {
+			// ignore
+			$invalidTransactionIsolationLevel = false;
+		}
+
+		$envPath = getenv('PATH');
+
+		// warn if outdated version of a memcache module is used
+		$caches = [
+			'apcu'	=> ['name' => $this->l->t('APCu'), 'version' => '4.0.6'],
+			'redis'	=> ['name' => $this->l->t('Redis'), 'version' => '2.2.5'],
+		];
+		$outdatedCaches = [];
+		foreach ($caches as $php_module => $data) {
+			$isOutdated = extension_loaded($php_module) && version_compare(phpversion($php_module), $data['version'], '<');
+			if ($isOutdated) {
+				$outdatedCaches[$php_module] = $data;
+			}
+		}
+
+		if ($this->lockingProvider instanceof NoopLockingProvider) {
+			$fileLockingType = 'none';
+		} else if ($this->lockingProvider instanceof DBLockingProvider) {
+			$fileLockingType = 'db';
+		} else {
+			$fileLockingType = 'cache';
+		}
+
+		$suggestedOverwriteCliUrl = '';
+		if ($this->config->getSystemValue('overwrite.cli.url', '') === '') {
+			$suggestedOverwriteCliUrl = $this->request->getServerProtocol() . '://' . $this->request->getInsecureServerHost() . \OC::$WEBROOT;
+			if (!$this->config->getSystemValue('config_is_read_only', false)) {
+				// Set the overwrite URL when it was not set yet.
+				$this->config->setSystemValue('overwrite.cli.url', $suggestedOverwriteCliUrl);
+				$suggestedOverwriteCliUrl = '';
+			}
+		}
+
+		$parameters = [
+			// Diagnosis
+			'readOnlyConfigEnabled'            => \OC_Helper::isReadOnlyConfigEnabled(),
+			'isLocaleWorking'                  => \OC_Util::isSetLocaleWorking(),
+			'isAnnotationsWorking'             => \OC_Util::isAnnotationsWorking(),
+			'checkForWorkingWellKnownSetup'    => $this->config->getSystemValue('check_for_working_wellknown_setup', true),
+			'has_fileinfo'                     => \OC_Util::fileInfoLoaded(),
+			'invalidTransactionIsolationLevel' => $invalidTransactionIsolationLevel,
+			'getenvServerNotWorking'           => empty($envPath),
+			'OutdatedCacheWarning'             => $outdatedCaches,
+			'fileLockingType'                  => $fileLockingType,
+			'suggestedOverwriteCliUrl'         => $suggestedOverwriteCliUrl,
+			'lastcron'            => $this->config->getAppValue('core', 'lastcron', false),
+			'cronErrors'		  => $this->config->getAppValue('core', 'cronErrors'),
+		];
+
+		return new TemplateResponse('settings', 'settings/admin/overview', $parameters, '');
+	}
+
+	/**
+	 * @return string the section ID, e.g. 'sharing'
+	 */
+	public function getSection() {
+		return 'overview';
+	}
+
+	/**
+	 * @return int whether the form should be rather on the top or bottom of
+	 * the admin section. The forms are arranged in ascending order of the
+	 * priority values. It is required to return a value between 0 and 100.
+	 *
+	 * E.g.: 70
+	 */
+	public function getPriority() {
+		return 10;
+	}
+}
diff --git a/lib/private/Settings/Admin/Server.php b/lib/private/Settings/Admin/Server.php
index 0b9c042e4f2ead9b91b039f8b1906c729be78334..1ebea8a4dcde88e6c21d1d583f5f9ddaaa0950d7 100644
--- a/lib/private/Settings/Admin/Server.php
+++ b/lib/private/Settings/Admin/Server.php
@@ -74,63 +74,7 @@ class Server implements ISettings {
 	 * @return TemplateResponse
 	 */
 	public function getForm() {
-		try {
-			if ($this->db->getDatabasePlatform() instanceof SqlitePlatform) {
-				$invalidTransactionIsolationLevel = false;
-			} else {
-				$invalidTransactionIsolationLevel = $this->db->getTransactionIsolation() !== Connection::TRANSACTION_READ_COMMITTED;
-			}
-		} catch (DBALException $e) {
-			// ignore
-			$invalidTransactionIsolationLevel = false;
-		}
-
-		$envPath = getenv('PATH');
-
-		// warn if outdated version of a memcache module is used
-		$caches = [
-			'apcu'	=> ['name' => $this->l->t('APCu'), 'version' => '4.0.6'],
-			'redis'	=> ['name' => $this->l->t('Redis'), 'version' => '2.2.5'],
-		];
-		$outdatedCaches = [];
-		foreach ($caches as $php_module => $data) {
-			$isOutdated = extension_loaded($php_module) && version_compare(phpversion($php_module), $data['version'], '<');
-			if ($isOutdated) {
-				$outdatedCaches[$php_module] = $data;
-			}
-		}
-
-		if ($this->lockingProvider instanceof NoopLockingProvider) {
-			$fileLockingType = 'none';
-		} else if ($this->lockingProvider instanceof DBLockingProvider) {
-			$fileLockingType = 'db';
-		} else {
-			$fileLockingType = 'cache';
-		}
-
-		$suggestedOverwriteCliUrl = '';
-		if ($this->config->getSystemValue('overwrite.cli.url', '') === '') {
-			$suggestedOverwriteCliUrl = $this->request->getServerProtocol() . '://' . $this->request->getInsecureServerHost() . \OC::$WEBROOT;
-			if (!$this->config->getSystemValue('config_is_read_only', false)) {
-				// Set the overwrite URL when it was not set yet.
-				$this->config->setSystemValue('overwrite.cli.url', $suggestedOverwriteCliUrl);
-				$suggestedOverwriteCliUrl = '';
-			}
-		}
-
 		$parameters = [
-			// Diagnosis
-			'readOnlyConfigEnabled'            => \OC_Helper::isReadOnlyConfigEnabled(),
-			'isLocaleWorking'                  => \OC_Util::isSetLocaleWorking(),
-			'isAnnotationsWorking'             => \OC_Util::isAnnotationsWorking(),
-			'checkForWorkingWellKnownSetup'    => $this->config->getSystemValue('check_for_working_wellknown_setup', true),
-			'has_fileinfo'                     => \OC_Util::fileInfoLoaded(),
-			'invalidTransactionIsolationLevel' => $invalidTransactionIsolationLevel,
-			'getenvServerNotWorking'           => empty($envPath),
-			'OutdatedCacheWarning'             => $outdatedCaches,
-			'fileLockingType'                  => $fileLockingType,
-			'suggestedOverwriteCliUrl'         => $suggestedOverwriteCliUrl,
-
 			// Background jobs
 			'backgroundjobs_mode' => $this->config->getAppValue('core', 'backgroundjobs_mode', 'ajax'),
 			'lastcron'            => $this->config->getAppValue('core', 'lastcron', false),
diff --git a/lib/private/Settings/Manager.php b/lib/private/Settings/Manager.php
index 49f699223f6bf4f6f07f79d6b759ddb0a7b197c6..becc670c6f9b9271a03dd950fd15110569f32e92 100644
--- a/lib/private/Settings/Manager.php
+++ b/lib/private/Settings/Manager.php
@@ -226,7 +226,8 @@ class Manager implements IManager {
 	public function getAdminSections(): array {
 		// built-in sections
 		$sections = [
-			0 => [new Section('server', $this->l->t('Basic settings'), 0, $this->url->imagePath('settings', 'admin.svg'))],
+			0 => [new Section('overview', $this->l->t('Overview'), 0, $this->url->imagePath('settings', 'admin.svg'))],
+			1 => [new Section('server', $this->l->t('Basic settings'), 0, $this->url->imagePath('core', 'actions/settings-dark.svg'))],
 			5 => [new Section('sharing', $this->l->t('Sharing'), 0, $this->url->imagePath('core', 'actions/share.svg'))],
 			10 => [new Section('security', $this->l->t('Security'), 0, $this->url->imagePath('core', 'actions/password.svg'))],
 			45 => [new Section('encryption', $this->l->t('Encryption'), 0, $this->url->imagePath('core', 'actions/password.svg'))],
@@ -257,11 +258,18 @@ class Manager implements IManager {
 	private function getBuiltInAdminSettings($section): array {
 		$forms = [];
 
+		if ($section === 'overview') {
+			/** @var ISettings $form */
+			$form = new Admin\Overview($this->dbc, $this->request, $this->config, $this->lockingProvider, $this->l);
+			$forms[$form->getPriority()] = [$form];
+			$form = new Admin\ServerDevNotice();
+			$forms[$form->getPriority()] = [$form];
+		}
 		if ($section === 'server') {
 			/** @var ISettings $form */
 			$form = new Admin\Server($this->dbc, $this->request, $this->config, $this->lockingProvider, $this->l);
 			$forms[$form->getPriority()] = [$form];
-			$form = new Admin\ServerDevNotice();
+			$form = new Admin\Mail($this->config);
 			$forms[$form->getPriority()] = [$form];
 		}
 		if ($section === 'encryption') {
@@ -274,11 +282,6 @@ class Manager implements IManager {
 			$form = new Admin\Sharing($this->config, $this->l);
 			$forms[$form->getPriority()] = [$form];
 		}
-		if ($section === 'additional') {
-			/** @var ISettings $form */
-			$form = new Admin\Additional($this->config);
-			$forms[$form->getPriority()] = [$form];
-		}
 		if ($section === 'tips-tricks') {
 			/** @var ISettings $form */
 			$form = new Admin\TipsTricks($this->config);
diff --git a/settings/Controller/CommonSettingsTrait.php b/settings/Controller/CommonSettingsTrait.php
index 3d314d9ed53620a7e1b3bc5c8ec0863d8bb9faf9..10fc0d84bbd1e40f3b02c5cc7254dee0403b2422 100644
--- a/settings/Controller/CommonSettingsTrait.php
+++ b/settings/Controller/CommonSettingsTrait.php
@@ -66,7 +66,7 @@ trait CommonSettingsTrait  {
 				} else if($type === 'personal') {
 					$settings = $this->settingsManager->getPersonalSettings($section->getID());
 				}
-				if (empty($settings)) {
+				if (empty($settings) && !($section->getID() === 'additional' && count(\OC_App::getForms('admin')) > 0)) {
 					continue;
 				}
 
diff --git a/settings/css/settings.scss b/settings/css/settings.scss
index 3e7e5576640dfff49795fcb01a740307b93f1b79..abfa99015dd287a66ca9f1598d4fda2c1f20e945 100644
--- a/settings/css/settings.scss
+++ b/settings/css/settings.scss
@@ -151,6 +151,11 @@ input {
 		width: 100%;
 	}
 }
+#personal-settings {
+	.section {
+		border: 0;
+	}
+}
 
 #personal-settings {
 	display: grid;
@@ -905,11 +910,21 @@ span.version {
 }
 
 .section {
-	h2.app-name {
-		display: block;
-		margin: 8px 0;
-	}
 	margin-bottom: 0;
+	/* use 2nd child since app-navigation-toggle is the first */
+	&:not(:nth-child(2)) {
+		border-top: 1px solid $color-border;
+	}
+
+	/* correctly display help icons next to headings */
+	h2  {
+		margin-bottom: 22px;
+		.icon-info {
+			padding: 6px 20px;
+			vertical-align: text-bottom;
+			display: inline-block;
+		}
+	}
 }
 
 .personal-settings-setting-box .section {
@@ -1054,6 +1069,10 @@ span.version {
 		&.apps-experimental {
 			flex-basis: 90%;
 		}
+		h2.app-name {
+			display: block;
+			margin: 8px 0;
+		}
 	}
 	.app-description {
 		p {
@@ -1092,6 +1111,7 @@ span.version {
 			position: absolute;
 			padding-left: 6px;
 			padding-top: 15px;
+
 			.enable {
 				position: relative;
 				top: -1px;
@@ -1129,6 +1149,7 @@ table.grid td.date {
 #security-warning li {
 	list-style: initial;
 	margin: 10px 0;
+	list-style-position: inside;
 }
 
 #security-warning-state span {
@@ -1195,7 +1216,8 @@ table.grid td.date {
 		width: 300px;
 		text-align: right;
 	}
-	select:nth-child(2) {
+	select:nth-child(2),
+	input {
 		width: 143px;
 	}
 }
@@ -1288,13 +1310,16 @@ doesnotexist:-o-prefocus, .strengthify-wrapper {
 		height: 50px;
 		background-position: left center;
 	}
-	.errors, .warnings {
-		color: #ce3702;
+	.errors, .errors a {
+		color: $color-error;
+	}
+	.warnings, .warnings a {
+		color: $color-warning;
 	}
 }
 
 #security-warning > ul {
-	color: #ce3702;
+	color: $color-error;
 }
 
 #admin-tips li {
diff --git a/settings/templates/settings/admin/overview.php b/settings/templates/settings/admin/overview.php
new file mode 100644
index 0000000000000000000000000000000000000000..2bddd1f9c3e647b0cf58e8dd3782cda441347045
--- /dev/null
+++ b/settings/templates/settings/admin/overview.php
@@ -0,0 +1,172 @@
+<?php
+/**
+ * @copyright Copyright (c) 2016 Arthur Schiwon <blizzz@arthur-schiwon.de>
+ *
+ * @author Arthur Schiwon <blizzz@arthur-schiwon.de>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+/** @var \OCP\IL10N $l */
+/** @var array $_ */
+
+?>
+
+<div id="security-warning" class="section">
+	<h2><?php p($l->t('Security & setup warnings'));?></h2>
+	<p class="settings-hint"><?php p($l->t('It\'s important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information.'));?></p>
+	<ul>
+		<?php
+		// is php setup properly to query system environment variables like getenv('PATH')
+		if ($_['getenvServerNotWorking']) {
+			?>
+			<li>
+				<?php p($l->t('PHP does not seem to be setup properly to query system environment variables. The test with getenv("PATH") only returns an empty response.')); ?><br>
+				<?php print_unescaped($l->t('Please check the <a target="_blank" rel="noreferrer noopener" href="%s">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm.', link_to_docs('admin-php-fpm'))); ?>
+			</li>
+			<?php
+		}
+
+		// is read only config enabled
+		if ($_['readOnlyConfigEnabled']) {
+			?>
+			<li>
+				<?php p($l->t('The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update.')); ?>
+			</li>
+			<?php
+		}
+
+		// Are doc blocks accessible?
+		if (!$_['isAnnotationsWorking']) {
+			?>
+			<li>
+				<?php p($l->t('PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible.')); ?><br>
+				<?php p($l->t('This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator.')); ?>
+			</li>
+			<?php
+		}
+
+		// Is the Transaction isolation level READ_COMMITTED?
+		if ($_['invalidTransactionIsolationLevel']) {
+			?>
+			<li>
+				<?php p($l->t('Your database does not run with "READ COMMITTED" transaction isolation level. This can cause problems when multiple actions are executed in parallel.')); ?>
+			</li>
+			<?php
+		}
+
+		// Warning if memcache is outdated
+		foreach ($_['OutdatedCacheWarning'] as $php_module => $data) {
+			?>
+			<li>
+				<?php p($l->t('%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version.', $data)); ?>
+			</li>
+			<?php
+		}
+
+		// if module fileinfo available?
+		if (!$_['has_fileinfo']) {
+			?>
+			<li>
+				<?php p($l->t('The PHP module \'fileinfo\' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection.')); ?>
+			</li>
+			<?php
+		}
+
+		// locking configured optimally?
+		if ($_['fileLockingType'] === 'none') {
+			?>
+			<li>
+				<?php print_unescaped($l->t('Transactional file locking is disabled, this might lead to issues with race conditions. Enable \'filelocking.enabled\' in config.php to avoid these problems. See the <a target="_blank" rel="noreferrer noopener" href="%s">documentation ↗</a> for more information.', link_to_docs('admin-transactional-locking'))); ?>
+			</li>
+			<?php
+		}
+
+		// is locale working ?
+		if (!$_['isLocaleWorking']) {
+			?>
+			<li>
+				<?php
+				$locales = 'en_US.UTF-8/fr_FR.UTF-8/es_ES.UTF-8/de_DE.UTF-8/ru_RU.UTF-8/pt_BR.UTF-8/it_IT.UTF-8/ja_JP.UTF-8/zh_CN.UTF-8';
+				p($l->t('System locale can not be set to a one which supports UTF-8.'));
+				?>
+				<br>
+				<?php
+				p($l->t('This means that there might be problems with certain characters in filenames.'));
+				?>
+				<br>
+				<?php
+				p($l->t('It is strongly proposed to install the required packages on your system to support one of the following locales: %s.', [$locales]));
+				?>
+			</li>
+			<?php
+		}
+
+		if ($_['suggestedOverwriteCliUrl']) {
+			?>
+			<li>
+				<?php p($l->t('If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the "overwrite.cli.url" option in your config.php file to the webroot path of your installation (Suggested: "%s")', $_['suggestedOverwriteCliUrl'])); ?>
+			</li>
+			<?php
+		}
+
+		if ($_['cronErrors']) {
+			?>
+			<li>
+				<?php p($l->t('It was not possible to execute the cron job via CLI. The following technical errors have appeared:')); ?>
+				<br>
+				<ol>
+					<?php foreach(json_decode($_['cronErrors']) as $error) { if(isset($error->error)) {?>
+						<li><?php p($error->error) ?> <?php p($error->hint) ?></li>
+					<?php }} ?>
+				</ol>
+			</li>
+			<?php
+		}
+		?>
+		<?php if ($_['lastcron'] !== false):
+				$relative_time = relative_modified_date($_['lastcron']);
+				$formatter = \OC::$server->getDateTimeFormatter();
+				$absolute_time = $formatter->formatDateTime($_['lastcron'], 'long', 'long');
+				if (time() - $_['lastcron'] > 3600): ?>
+					<li class="crondate" title="<?php p($absolute_time);?>">
+						<?php p($l->t("Last background job execution ran %s. Something seems wrong.", [$relative_time]));?>
+						<a href="<?php p(\OC::$server->getURLGenerator()->linkToRoute('settings.AdminSettings.index', ['section' => 'server'])); ?>#backgroundjobs"><?php p($l->t('Check the background job settings')); ?></a>
+					</li>
+				<?php endif; ?>
+			<?php endif; ?>
+	</ul>
+
+	<div id="postsetupchecks" data-check-wellknown="<?php if($_['checkForWorkingWellKnownSetup']) { p('true'); } else { p('false'); } ?>">
+		<div class="loading"></div>
+		<ul class="errors hidden"></ul>
+		<ul class="warnings hidden"></ul>
+		<ul class="info hidden"></ul>
+		<p class="hint hidden">
+			<?php print_unescaped($l->t('Please double check the <a target="_blank" rel="noreferrer noopener" href="%s">installation guides ↗</a>, and check for any errors or warnings in the <a href="%s">log</a>.', [link_to_docs('admin-install'), \OC::$server->getURLGenerator()->linkToRoute('settings.AdminSettings.index', ['section' => 'logging'])] )); ?>
+		</p>
+	</div>
+	<div id="security-warning-state">
+		<span class="hidden icon-checkmark"><?php p($l->t('All checks passed.'));?></span>
+	</div>
+</div>
+
+<div class="section">
+	<!-- should be the last part, so Updater can follow if enabled (it has no heading therefore). -->
+	<h2><?php p($l->t('Version'));?></h2>
+	<p><strong><a href="<?php print_unescaped($theme->getBaseUrl()); ?>" rel="noreferrer noopener" target="_blank"><?php p($theme->getTitle()); ?></a> <?php p(OC_Util::getHumanVersion()) ?></strong></p>
+</div>
diff --git a/settings/templates/settings/admin/server.php b/settings/templates/settings/admin/server.php
index d467577f610c0fa495c251b568661b58092c3d1c..8dc00e26e56be60807660f7c68a6cb03a515ae02 100644
--- a/settings/templates/settings/admin/server.php
+++ b/settings/templates/settings/admin/server.php
@@ -26,134 +26,6 @@
 
 ?>
 
-<div id="security-warning" class="section">
-	<h2><?php p($l->t('Security & setup warnings'));?></h2>
-	<p class="settings-hint"><?php p($l->t('It\'s important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information.'));?></p>
-	<ul>
-		<?php
-		// is php setup properly to query system environment variables like getenv('PATH')
-		if ($_['getenvServerNotWorking']) {
-			?>
-			<li>
-				<?php p($l->t('PHP does not seem to be setup properly to query system environment variables. The test with getenv("PATH") only returns an empty response.')); ?><br>
-				<?php print_unescaped($l->t('Please check the <a target="_blank" rel="noreferrer noopener" href="%s">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm.', link_to_docs('admin-php-fpm'))); ?>
-			</li>
-			<?php
-		}
-
-		// is read only config enabled
-		if ($_['readOnlyConfigEnabled']) {
-			?>
-			<li>
-				<?php p($l->t('The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update.')); ?>
-			</li>
-			<?php
-		}
-
-		// Are doc blocks accessible?
-		if (!$_['isAnnotationsWorking']) {
-			?>
-			<li>
-				<?php p($l->t('PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible.')); ?><br>
-				<?php p($l->t('This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator.')); ?>
-			</li>
-			<?php
-		}
-
-		// Is the Transaction isolation level READ_COMMITTED?
-		if ($_['invalidTransactionIsolationLevel']) {
-			?>
-			<li>
-				<?php p($l->t('Your database does not run with "READ COMMITTED" transaction isolation level. This can cause problems when multiple actions are executed in parallel.')); ?>
-			</li>
-			<?php
-		}
-
-		// Warning if memcache is outdated
-		foreach ($_['OutdatedCacheWarning'] as $php_module => $data) {
-			?>
-			<li>
-				<?php p($l->t('%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version.', $data)); ?>
-			</li>
-			<?php
-		}
-
-		// if module fileinfo available?
-		if (!$_['has_fileinfo']) {
-			?>
-			<li>
-				<?php p($l->t('The PHP module \'fileinfo\' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection.')); ?>
-			</li>
-			<?php
-		}
-
-		// locking configured optimally?
-		if ($_['fileLockingType'] === 'none') {
-			?>
-			<li>
-				<?php print_unescaped($l->t('Transactional file locking is disabled, this might lead to issues with race conditions. Enable \'filelocking.enabled\' in config.php to avoid these problems. See the <a target="_blank" rel="noreferrer noopener" href="%s">documentation ↗</a> for more information.', link_to_docs('admin-transactional-locking'))); ?>
-			</li>
-			<?php
-		}
-
-		// is locale working ?
-		if (!$_['isLocaleWorking']) {
-			?>
-			<li>
-				<?php
-				$locales = 'en_US.UTF-8/fr_FR.UTF-8/es_ES.UTF-8/de_DE.UTF-8/ru_RU.UTF-8/pt_BR.UTF-8/it_IT.UTF-8/ja_JP.UTF-8/zh_CN.UTF-8';
-				p($l->t('System locale can not be set to a one which supports UTF-8.'));
-				?>
-				<br>
-				<?php
-				p($l->t('This means that there might be problems with certain characters in filenames.'));
-				?>
-				<br>
-				<?php
-				p($l->t('It is strongly proposed to install the required packages on your system to support one of the following locales: %s.', [$locales]));
-				?>
-			</li>
-			<?php
-		}
-
-		if ($_['suggestedOverwriteCliUrl']) {
-			?>
-			<li>
-				<?php p($l->t('If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the "overwrite.cli.url" option in your config.php file to the webroot path of your installation (Suggested: "%s")', $_['suggestedOverwriteCliUrl'])); ?>
-			</li>
-			<?php
-		}
-
-		if ($_['cronErrors']) {
-			?>
-			<li>
-				<?php p($l->t('It was not possible to execute the cron job via CLI. The following technical errors have appeared:')); ?>
-				<br>
-				<ol>
-					<?php foreach(json_decode($_['cronErrors']) as $error) { if(isset($error->error)) {?>
-						<li><?php p($error->error) ?> <?php p($error->hint) ?></li>
-					<?php }} ?>
-				</ol>
-			</li>
-			<?php
-		}
-		?>
-	</ul>
-
-	<div id="postsetupchecks" data-check-wellknown="<?php if($_['checkForWorkingWellKnownSetup']) { p('true'); } else { p('false'); } ?>">
-		<div class="loading"></div>
-		<ul class="errors hidden"></ul>
-		<ul class="warnings hidden"></ul>
-		<ul class="info hidden"></ul>
-		<p class="hint hidden">
-			<?php print_unescaped($l->t('Please double check the <a target="_blank" rel="noreferrer noopener" href="%s">installation guides ↗</a>, and check for any errors or warnings in the <a href="%s">log</a>.', [link_to_docs('admin-install'), \OC::$server->getURLGenerator()->linkToRoute('settings.AdminSettings.index', ['section' => 'logging'])] )); ?>
-		</p>
-	</div>
-	<div id="security-warning-state">
-		<span class="hidden icon-checkmark"><?php p($l->t('All checks passed.'));?></span>
-	</div>
-</div>
-
 <div class="section" id="backgroundjobs">
 	<h2 class="inlineblock"><?php p($l->t('Background jobs'));?></h2>
 	<p class="cronlog inlineblock">
@@ -220,10 +92,4 @@
 		} ?></em>
 
 	</p>
-</div>
-
-<div class="section">
-	<!-- should be the last part, so Updater can follow if enabled (it has no heading therefore). -->
-	<h2><?php p($l->t('Version'));?></h2>
-	<p><strong><a href="<?php print_unescaped($theme->getBaseUrl()); ?>" rel="noreferrer noopener" target="_blank"><?php p($theme->getTitle()); ?></a> <?php p(OC_Util::getHumanVersion()) ?></strong></p>
-</div>
+</div>
\ No newline at end of file
diff --git a/tests/lib/Settings/Admin/AdditionalTest.php b/tests/lib/Settings/Admin/MailTest.php
similarity index 94%
rename from tests/lib/Settings/Admin/AdditionalTest.php
rename to tests/lib/Settings/Admin/MailTest.php
index 4a254da060b7b8c0a4d0e0164c617b2a4997222c..04c0e7fa92e7167043afd411441f79150512a9be 100644
--- a/tests/lib/Settings/Admin/AdditionalTest.php
+++ b/tests/lib/Settings/Admin/MailTest.php
@@ -24,11 +24,12 @@
 namespace Test\Settings\Admin;
 
 use OC\Settings\Admin\Additional;
+use OC\Settings\Admin\Mail;
 use OCP\AppFramework\Http\TemplateResponse;
 use OCP\IConfig;
 use Test\TestCase;
 
-class AdditionalTest extends TestCase {
+class MailTest extends TestCase {
 	/** @var Additional */
 	private $admin;
 	/** @var IConfig */
@@ -38,7 +39,7 @@ class AdditionalTest extends TestCase {
 		parent::setUp();
 		$this->config = $this->getMockBuilder(IConfig::class)->getMock();
 
-		$this->admin = new Additional(
+		$this->admin = new Mail(
 			$this->config
 		);
 	}
@@ -118,10 +119,10 @@ class AdditionalTest extends TestCase {
 	}
 
 	public function testGetSection() {
-		$this->assertSame('additional', $this->admin->getSection());
+		$this->assertSame('server', $this->admin->getSection());
 	}
 
 	public function testGetPriority() {
-		$this->assertSame(0, $this->admin->getPriority());
+		$this->assertSame(10, $this->admin->getPriority());
 	}
 }
diff --git a/tests/lib/Settings/Admin/ServerTest.php b/tests/lib/Settings/Admin/ServerTest.php
index b83175401174af32fe71a50a459158d46212681f..a121abc3df2cd3049a242159b5a672a42d23971b 100644
--- a/tests/lib/Settings/Admin/ServerTest.php
+++ b/tests/lib/Settings/Admin/ServerTest.php
@@ -65,74 +65,25 @@ class ServerTest extends TestCase {
 	}
 
 	public function testGetForm() {
-		$this->dbConnection
-			->expects($this->once())
-			->method('getDatabasePlatform')
-			->willReturn(new SqlitePlatform());
 		$this->config
 			->expects($this->at(0))
-			->method('getSystemValue')
-			->with('overwrite.cli.url', '')
-			->willReturn(true);
-		$this->config
-			->expects($this->at(2))
 			->method('getAppValue')
 			->with('core', 'backgroundjobs_mode', 'ajax')
 			->willReturn('ajax');
 		$this->config
-			->expects($this->at(3))
+			->expects($this->at(1))
 			->method('getAppValue')
 			->with('core', 'lastcron', false)
 			->willReturn(false);
 		$this->config
-			->expects($this->at(4))
+			->expects($this->at(2))
 			->method('getAppValue')
 			->with('core', 'cronErrors')
 			->willReturn('');
-		$this->config
-			->expects($this->at(1))
-			->method('getSystemValue')
-			->with('check_for_working_wellknown_setup', true)
-			->willReturn(true);
-		$this->l10n
-			->expects($this->at(0))
-			->method('t')
-			->with('APCu')
-			->willReturn('APCu');
-		$this->l10n
-			->expects($this->at(1))
-			->method('t')
-			->with('Redis')
-			->willReturn('Redis');
-		$outdatedCaches = [];
-		$caches = [
-			'apcu'	=> ['name' => 'APCu', 'version' => '4.0.6'],
-			'redis'	=> ['name' => 'Redis', 'version' => '2.2.5'],
-		];
-		foreach ($caches as $php_module => $data) {
-			$isOutdated = extension_loaded($php_module) && version_compare(phpversion($php_module), $data['version'], '<');
-			if ($isOutdated) {
-				$outdatedCaches[$php_module] = $data;
-			}
-		}
-		$envPath = getenv('PATH');
 		$expected = new TemplateResponse(
 			'settings',
 			'settings/admin/server',
 			[
-				// Diagnosis
-				'readOnlyConfigEnabled'            => \OC_Helper::isReadOnlyConfigEnabled(),
-				'isLocaleWorking'                  => \OC_Util::isSetLocaleWorking(),
-				'isAnnotationsWorking'             => \OC_Util::isAnnotationsWorking(),
-				'checkForWorkingWellKnownSetup'    => true,
-				'has_fileinfo'                     => \OC_Util::fileInfoLoaded(),
-				'invalidTransactionIsolationLevel' => false,
-				'getenvServerNotWorking'           => empty($envPath),
-				'OutdatedCacheWarning'             => $outdatedCaches,
-				'fileLockingType'                  => 'cache',
-				'suggestedOverwriteCliUrl'         => '',
-
-				// Background jobs
 				'backgroundjobs_mode' => 'ajax',
 				'lastcron'            => false,
 				'cronErrors'		  => '',
diff --git a/tests/lib/Settings/ManagerTest.php b/tests/lib/Settings/ManagerTest.php
index b218a347e85217d11556fd98fc61a2aee9bfd93a..d51a57598b39ccf3db014ad61265108fa0ca2325 100644
--- a/tests/lib/Settings/ManagerTest.php
+++ b/tests/lib/Settings/ManagerTest.php
@@ -115,24 +115,25 @@ class ManagerTest extends TestCase {
 
 		$this->manager->registerSection('admin', \OCA\WorkflowEngine\Settings\Section::class);
 
-		$this->url->expects($this->exactly(6))
+		$this->url->expects($this->exactly(7))
 			->method('imagePath')
 			->willReturnMap([
-				['settings', 'admin.svg', '1'],
+				['settings', 'admin.svg', '0'],
+				['core', 'actions/settings-dark.svg', '1'],
 				['core', 'actions/share.svg', '2'],
 				['core', 'actions/password.svg', '3'],
-				['core', 'actions/settings-dark.svg', '4'],
-				['settings', 'help.svg', '5'],
+				['settings', 'help.svg', '4'],
 			]);
 
 		$this->assertEquals([
-			0 => [new Section('server', 'Basic settings', 0, '1')],
+			0 => [new Section('overview', 'Overview', 0, '0')],
+			1 => [new Section('server', 'Basic settings', 0, '1')],
 			5 => [new Section('sharing', 'Sharing', 0, '2')],
 			10 => [new Section('security', 'Security', 0, '3')],
 			45 => [new Section('encryption', 'Encryption', 0, '3')],
 			55 => [\OC::$server->query(\OCA\WorkflowEngine\Settings\Section::class)],
-			98 => [new Section('additional', 'Additional settings', 0, '4')],
-			99 => [new Section('tips-tricks', 'Tips & tricks', 0, '5')],
+			98 => [new Section('additional', 'Additional settings', 0, '1')],
+			99 => [new Section('tips-tricks', 'Tips & tricks', 0, '4')],
 		], $this->manager->getAdminSections());
 	}
 
@@ -166,23 +167,24 @@ class ManagerTest extends TestCase {
 			->method('t')
 			->will($this->returnArgument(0));
 
-		$this->url->expects($this->exactly(6))
+		$this->url->expects($this->exactly(7))
 			->method('imagePath')
 			->willReturnMap([
-				['settings', 'admin.svg', '1'],
+				['settings', 'admin.svg', '0'],
+				['core', 'actions/settings-dark.svg', '1'],
 				['core', 'actions/share.svg', '2'],
 				['core', 'actions/password.svg', '3'],
-				['core', 'actions/settings-dark.svg', '4'],
-				['settings', 'help.svg', '5'],
+				['settings', 'help.svg', '4'],
 			]);
 
 		$this->assertEquals([
-			0 => [new Section('server', 'Basic settings', 0, '1')],
+			0 => [new Section('overview', 'Overview', 0, '0')],
+			1 => [new Section('server', 'Basic settings', 0, '1')],
 			5 => [new Section('sharing', 'Sharing', 0, '2')],
 			10 => [new Section('security', 'Security', 0, '3')],
 			45 => [new Section('encryption', 'Encryption', 0, '3')],
-			98 => [new Section('additional', 'Additional settings', 0, '4')],
-			99 => [new Section('tips-tricks', 'Tips & tricks', 0, '5')],
+			98 => [new Section('additional', 'Additional settings', 0, '1')],
+			99 => [new Section('tips-tricks', 'Tips & tricks', 0, '4')],
 		], $this->manager->getAdminSections());
 	}