diff --git a/lib/Account.php b/lib/Account.php
index 7f63d042864a0faabfb5ee6570699ece77e6c307..456fac53119250a5de66dc16c9e1f6a73827de31 100644
--- a/lib/Account.php
+++ b/lib/Account.php
@@ -185,8 +185,7 @@ class Account implements JsonSerializable {
 	public function getMailbox($folderId) {
 		return new Mailbox(
 			$this->getImapConnection(),
-			new Horde_Imap_Client_Mailbox($folderId),
-			[]
+			new Horde_Imap_Client_Mailbox($folderId)
 		);
 	}
 
diff --git a/lib/Mailbox.php b/lib/Mailbox.php
index 98e5f8f80aceefcade941932730bad918367ef8e..777f82ee4cbecb1989fb90433afd3a10ef37f709 100644
--- a/lib/Mailbox.php
+++ b/lib/Mailbox.php
@@ -32,7 +32,6 @@
 namespace OCA\Mail;
 
 use Horde_Imap_Client;
-use Horde_Imap_Client_Exception;
 use Horde_Imap_Client_Mailbox;
 use Horde_Imap_Client_Socket;
 use OCA\Mail\Model\IMAPMessage;
@@ -44,26 +43,6 @@ class Mailbox {
 	 */
 	protected $conn;
 
-	/**
-	 * @var array
-	 */
-	private $attributes;
-
-	/**
-	 * @var string
-	 */
-	private $specialRole;
-
-	/**
-	 * @var string
-	 */
-	private $displayName;
-
-	/**
-	 * @var string
-	 */
-	private $delimiter;
-
 	/**
 	 * @var Horde_Imap_Client_Mailbox
 	 */
@@ -72,26 +51,10 @@ class Mailbox {
 	/**
 	 * @param Horde_Imap_Client_Socket $conn
 	 * @param Horde_Imap_Client_Mailbox $mailBox
-	 * @param array $attributes
-	 * @param string $delimiter
 	 */
-	public function __construct($conn, $mailBox, $attributes, $delimiter = '/') {
+	public function __construct($conn, $mailBox) {
 		$this->conn = $conn;
 		$this->mailBox = $mailBox;
-		$this->attributes = $attributes;
-		$this->delimiter = $delimiter;
-		$this->getSpecialRoleFromAttributes();
-		if ($this->specialRole === null) {
-			$this->guessSpecialRole();
-		}
-		$this->makeDisplayName();
-	}
-
-	/**
-	 * @return array
-	 */
-	public function attributes() {
-		return $this->attributes;
 	}
 
 	/**
@@ -104,195 +67,6 @@ class Mailbox {
 		return new IMAPMessage($this->conn, $this->mailBox, $uid, null, $loadHtmlMessageBody);
 	}
 
-	/**
-	 * @return array
-	 */
-	public function getStatus(int $flags = Horde_Imap_Client::STATUS_ALL): array {
-		return $this->conn->status($this->mailBox, $flags);
-	}
-
-	/**
-	 * @return int
-	 */
-	public function getTotalMessages() {
-		$status = $this->getStatus(\Horde_Imap_Client::STATUS_MESSAGES);
-		return (int) $status['messages'];
-	}
-
-	protected function makeDisplayName(): void {
-		$parts = explode($this->delimiter, $this->mailBox->utf8, 2);
-
-		if (count($parts) > 1) {
-			$displayName = $parts[1];
-		} elseif (strtolower($this->mailBox->utf8) === 'inbox') {
-			$displayName = 'Inbox';
-		} else {
-			$displayName = $this->mailBox->utf8;
-		}
-
-		$this->displayName = $displayName;
-	}
-
-	public function getFolderId(): string {
-		return $this->mailBox->utf8;
-	}
-
-	/**
-	 * @return null|string
-	 */
-	public function getParent(): ?string {
-		$folderId = $this->getFolderId();
-		$parts = explode($this->delimiter, $folderId, 2);
-
-		if (count($parts) > 1) {
-			return $parts[0];
-		}
-
-		return null;
-	}
-
-	/**
-	 * @return string
-	 */
-	public function getSpecialRole() {
-		return $this->specialRole;
-	}
-
-	/**
-	 * @return string
-	 */
-	public function getDisplayName() {
-		return $this->displayName;
-	}
-
-	/**
-	 * @param string $displayName
-	 *
-	 * @return void
-	 */
-	public function setDisplayName($displayName): void {
-		$this->displayName = $displayName;
-	}
-
-	/**
-	 * @param integer $accountId
-	 * @return array
-	 */
-	public function serialize($accountId, $status = null) {
-		$displayName = $this->getDisplayName();
-		try {
-			if (is_null($status)) {
-				$status = $this->getStatus();
-			}
-			$total = $status['messages'];
-			$specialRole = $this->getSpecialRole();
-			$unseen = ($specialRole === 'trash') ? 0 : $status['unseen'];
-			$isEmpty = ($total === 0);
-			$noSelect = in_array('\\noselect', $this->attributes);
-			$parentId = $this->getParent();
-			$parentId = ($parentId !== null) ? base64_encode($parentId) : null;
-			return [
-				'id' => base64_encode($this->getFolderId()),
-				'parent' => $parentId,
-				'name' => $displayName,
-				'specialRole' => $specialRole,
-				'unseen' => $unseen,
-				'total' => $total,
-				'isEmpty' => $isEmpty,
-				'accountId' => $accountId,
-				'noSelect' => $noSelect,
-				'uidvalidity' => $status['uidvalidity'],
-				'uidnext' => $status['uidnext'],
-				'delimiter' => $this->delimiter
-			];
-		} catch (Horde_Imap_Client_Exception $e) {
-			return [
-				'id' => base64_encode($this->getFolderId()),
-				'parent' => null,
-				'name' => $displayName,
-				'specialRole' => null,
-				'unseen' => 0,
-				'total' => 0,
-				'error' => $e->getMessage(),
-				'isEmpty' => true,
-				'accountId' => $accountId,
-				'noSelect' => true
-			];
-		}
-	}
-
-	/**
-	 * Get the special use role of the mailbox
-	 *
-	 * This method reads the attributes sent by the server
-	 *
-	 * @return void
-	 */
-	protected function getSpecialRoleFromAttributes(): void {
-		/*
-		 * @todo: support multiple attributes on same folder
-		 * "any given server or  message store may support
-		 *  any combination of the attributes"
-		 *  https://tools.ietf.org/html/rfc6154
-		 */
-		$result = null;
-		if (is_array($this->attributes)) {
-			/* Convert attributes to lowercase, because gmail
-			 * returns them as lowercase (eg. \trash and not \Trash)
-			 */
-			$specialUseAttributes = [
-				strtolower(Horde_Imap_Client::SPECIALUSE_ALL),
-				strtolower(Horde_Imap_Client::SPECIALUSE_ARCHIVE),
-				strtolower(Horde_Imap_Client::SPECIALUSE_DRAFTS),
-				strtolower(Horde_Imap_Client::SPECIALUSE_FLAGGED),
-				strtolower(Horde_Imap_Client::SPECIALUSE_JUNK),
-				strtolower(Horde_Imap_Client::SPECIALUSE_SENT),
-				strtolower(Horde_Imap_Client::SPECIALUSE_TRASH)
-			];
-
-			$attributes = array_map(function ($n) {
-				return strtolower($n);
-			}, $this->attributes);
-
-			foreach ($specialUseAttributes as $attr) {
-				if (in_array($attr, $attributes)) {
-					$result = ltrim($attr, '\\');
-					break;
-				}
-			}
-		}
-
-		$this->specialRole = $result;
-	}
-
-	/**
-	 * Assign a special role to this mailbox based on its name
-	 *
-	 * @return void
-	 */
-	protected function guessSpecialRole(): void {
-		$specialFoldersDict = [
-			'inbox' => ['inbox'],
-			'sent' => ['sent', 'sent items', 'sent messages', 'sent-mail', 'sentmail'],
-			'drafts' => ['draft', 'drafts'],
-			'archive' => ['archive', 'archives'],
-			'trash' => ['deleted messages', 'trash'],
-			'junk' => ['junk', 'spam', 'bulk mail'],
-		];
-
-		$lowercaseExplode = explode($this->delimiter, $this->getFolderId(), 2);
-		$lowercaseId = strtolower(array_pop($lowercaseExplode));
-		$result = null;
-		foreach ($specialFoldersDict as $specialRole => $specialNames) {
-			if (in_array($lowercaseId, $specialNames)) {
-				$result = $specialRole;
-				break;
-			}
-		}
-
-		$this->specialRole = $result;
-	}
-
 	/**
 	 * @param int $messageUid
 	 * @param string $attachmentId
diff --git a/tests/Integration/IMAP/AbstractTest.php b/tests/Integration/IMAP/AbstractTest.php
index 2d28c9702de3b628293ab3d29a7936c91616385c..bbaaddf46a398ccd03032f3bbc98c401fda329e1 100644
--- a/tests/Integration/IMAP/AbstractTest.php
+++ b/tests/Integration/IMAP/AbstractTest.php
@@ -105,9 +105,8 @@ abstract class AbstractTest extends TestCase {
 	 * @param string $name
 	 */
 	public function existsMailBox($name) {
-		$mb = $this->getTestAccount()->getMailbox($name);
 		try {
-			$mb->getStatus();
+			self::$account->getImapConnection()->status($name);
 			return true;
 		} catch (Exception $ex) {
 			return false;