diff --git a/.drone.yml b/.drone.yml
index f13a50c8acf0dd52077aeeda32a4b1454ed0f442..5d4ab2ca963076857872d8247ea585fc3368473e 100644
--- a/.drone.yml
+++ b/.drone.yml
@@ -423,15 +423,6 @@ pipeline:
       when:
         matrix:
           TESTS: integration-ldap-features
-  integration-trashbin:
-    image: nextcloudci/integration-php7.0:integration-php7.0-3
-    commands:
-      - ./occ maintenance:install --admin-pass=admin
-      - cd build/integration
-      - ./run.sh features/trashbin.feature
-    when:
-      matrix:
-        TESTS: integration-trashbin
   nodb-codecov:
     image: nextcloudci/php7.0:php7.0-7
     commands:
@@ -500,7 +491,6 @@ matrix:
     - TESTS: integration-filesdrop-features
     - TESTS: integration-transfer-ownership-features
     - TESTS: integration-ldap-features
-    - TESTS: integration-trashbin
     - TESTS: jsunit
     - TESTS: check-autoloader
     - TESTS: app-check-code
diff --git a/build/integration/features/bootstrap/BasicStructure.php b/build/integration/features/bootstrap/BasicStructure.php
index 7933068b3b3da59d84b2f251e6595b8f83d37bd7..8e1fcf86ba18e7cefb592d9d14967153c522b0cb 100644
--- a/build/integration/features/bootstrap/BasicStructure.php
+++ b/build/integration/features/bootstrap/BasicStructure.php
@@ -35,7 +35,6 @@ require __DIR__ . '/../../vendor/autoload.php';
 trait BasicStructure {
 
 	use Auth;
-	use Trashbin;
 
 	/** @var string */
 	private $currentUser = '';
@@ -354,6 +353,16 @@ trait BasicStructure {
 		fclose($file);
 	}
 
+	/**
+	 * @When User :user empties trashbin
+	 * @param string $user
+	 */
+	public function emptyTrashbin($user) {
+		$body = new \Behat\Gherkin\Node\TableNode([['allfiles', 'true'], ['dir', '%2F']]);
+		$this->sendingToWithDirectUrl('POST', "/index.php/apps/files_trashbin/ajax/delete.php", $body);
+		$this->theHTTPStatusCodeShouldBe('200');
+	}
+
 	/**
 	 * @When Sleep for :seconds seconds
 	 * @param int $seconds
diff --git a/build/integration/features/bootstrap/Trashbin.php b/build/integration/features/bootstrap/Trashbin.php
deleted file mode 100644
index c7d3a338ac1723e0a261d3bbf8215b999dd6ba0c..0000000000000000000000000000000000000000
--- a/build/integration/features/bootstrap/Trashbin.php
+++ /dev/null
@@ -1,120 +0,0 @@
-<?php
-/**
- * @author Vincent Petry <pvince81@owncloud.com>
- *
- * @copyright Copyright (c) 2017, ownCloud GmbH.
- * @license AGPL-3.0
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * 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, version 3,
- * along with this program.  If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-use GuzzleHttp\Client;
-use GuzzleHttp\Message\ResponseInterface;
-
-require __DIR__ . '/../../vendor/autoload.php';
-
-/**
- * Trashbin functions
- */
-trait Trashbin {
-
-	/**
-	 * @When User :user empties trashbin
-	 * @param string $user user
-	 */
-	public function emptyTrashbin($user) {
-		$this->asAn($user);
-		$body = new \Behat\Gherkin\Node\TableNode([['allfiles', 'true'], ['dir', '%2F']]);
-		$this->sendingToWithDirectUrl('POST', "/index.php/apps/files_trashbin/ajax/delete.php", $body);
-		$this->theHTTPStatusCodeShouldBe('200');
-	}
-
-	/**
-	 * List trashbin folder
-	 *
-	 * @param string $user user
-	 * @param string $path path
-	 * @return array response
-	 */
-	public function listTrashbinFolder($user, $path){
-		$this->asAn($user);
-		$params = '?dir=' . rawurlencode('/' . trim($path, '/'));
-		$this->sendingToWithDirectUrl('GET', '/index.php/apps/files_trashbin/ajax/list.php' . $params, null);
-		$this->theHTTPStatusCodeShouldBe('200');
-
-		$response = json_decode($this->response->getBody(), true);
-
-		return $response['data']['files'];
-	}
-
-	/**
-	 * @Then /^as "([^"]*)" the (file|folder|entry) "([^"]*)" exists in trash$/
-	 * @param string $user
-	 * @param string $entryText
-	 * @param string $path
-	 */
-	public function asTheFileOrFolderExistsInTrash($user, $entryText, $path) {
-		$path = trim($path, '/');
-		$sections = explode('/', $path, 2);
-
-		$firstEntry = $this->findFirstTrashedEntry($user, trim($sections[0], '/'));
-
-		PHPUnit_Framework_Assert::assertNotNull($firstEntry);
-
-		// query was on the main element ?
-		if (count($sections) === 1) {
-			// already found, return
-			return;
-		}
-
-		$subdir = trim(dirname($sections[1]), '/');
-		if ($subdir !== '' && $subdir !== '.') {
-			$subdir = $firstEntry . '/' . $subdir;
-		} else {
-			$subdir = $firstEntry;
-		}
-
-		$listing = $this->listTrashbinFolder($user, $subdir);
-		$checkedName = basename($path);
-
-		$found = false;
-		foreach ($listing as $entry) {
-			if ($entry['name'] === $checkedName) {
-				$found = true;
-				break;
-			}
-		}
-
-		PHPUnit_Framework_Assert::assertTrue($found);
-	}
-
-	/**
-	 * Finds the first trashed entry matching the given name
-	 *
-	 * @param string $name
-	 * @return string|null real entry name with timestamp suffix or null if not found
-	 */
-	private function findFirstTrashedEntry($user, $name) {
-		$listing = $this->listTrashbinFolder($user, '/');
-
-		foreach ($listing as $entry) {
-			if ($entry['name'] === $name) {
-				return $entry['name'] . '.d' . ((int)$entry['mtime'] / 1000);
-			}
-		}
-
-		return null;
-	}
-}
-
diff --git a/build/integration/features/favorites.feature b/build/integration/features/favorites.feature
index c2fdb1dfc118638cc5eda2baf20d79a2f1b2c6c8..9722948dac23083d20f2408edbad135396d819df 100644
--- a/build/integration/features/favorites.feature
+++ b/build/integration/features/favorites.feature
@@ -134,16 +134,3 @@ Feature: favorite
             | /subfolder/textfile0.txt |
             | /subfolder/textfile2.txt |
 
-    Scenario: moving a favorite file out of a share keeps favorite state
-        Given using old dav path
-        And As an "admin"
-        And user "user0" exists
-        And user "user1" exists
-        And user "user0" created a folder "/shared"
-        And User "user0" moved file "/textfile0.txt" to "/shared/shared_file.txt"
-        And folder "/shared" of user "user0" is shared with user "user1"
-        And user "user1" favorites element "/shared/shared_file.txt"
-        When User "user1" moved file "/shared/shared_file.txt" to "/taken_out.txt"
-        Then user "user1" in folder "/" should have favorited the following elements
-            | /taken_out.txt |
-
diff --git a/build/integration/features/sharing-v1.feature b/build/integration/features/sharing-v1.feature
index 973aa803e411407dee84acbcb9d73bb36de0db09..4ce32654ba43b7c50782ed48dcc474e244c111bc 100644
--- a/build/integration/features/sharing-v1.feature
+++ b/build/integration/features/sharing-v1.feature
@@ -988,33 +988,3 @@ Feature: sharing
     And Updating last share with
       | publicUpload | true |
     Then the OCS status code should be "404"
-    And the HTTP status code should be "200"
-
-  Scenario: deleting file out of a share as recipient creates a backup for the owner
-    Given As an "admin"
-    And user "user0" exists
-    And user "user1" exists
-    And user "user0" created a folder "/shared"
-    And User "user0" moved file "/textfile0.txt" to "/shared/shared_file.txt"
-    And folder "/shared" of user "user0" is shared with user "user1"
-    When User "user1" deletes file "/shared/shared_file.txt"
-    Then as "user1" the file "/shared/shared_file.txt" does not exist
-    And as "user0" the file "/shared/shared_file.txt" does not exist
-    And as "user0" the file "/shared_file.txt" exists in trash
-    And as "user1" the file "/shared_file.txt" exists in trash
-
-  Scenario: deleting folder out of a share as recipient creates a backup for the owner
-    Given As an "admin"
-    And user "user0" exists
-    And user "user1" exists
-    And user "user0" created a folder "/shared"
-    And user "user0" created a folder "/shared/sub"
-    And User "user0" moved file "/textfile0.txt" to "/shared/sub/shared_file.txt"
-    And folder "/shared" of user "user0" is shared with user "user1"
-    When User "user1" deletes folder "/shared/sub"
-    Then as "user1" the folder "/shared/sub" does not exist
-    And as "user0" the folder "/shared/sub" does not exist
-    And as "user0" the folder "/sub" exists in trash
-    And as "user0" the file "/sub/shared_file.txt" exists in trash
-    And as "user1" the folder "/sub" exists in trash
-    And as "user1" the file "/sub/shared_file.txt" exists in trash
diff --git a/build/integration/features/trashbin.feature b/build/integration/features/trashbin.feature
deleted file mode 100644
index adb73f2b5ea49d08fb0c61dccef2da1b92b01005..0000000000000000000000000000000000000000
--- a/build/integration/features/trashbin.feature
+++ /dev/null
@@ -1,13 +0,0 @@
-Feature: trashbin
-	Background:
-		Given using api version "1"
-		And using old dav path
-		And As an "admin"
-		And app "files_trashbin" is enabled
-
-	Scenario: deleting a file moves it to trashbin
-		Given As an "admin"
-		And user "user0" exists
-		When User "user0" deletes file "/textfile0.txt"
-		Then as "user0" the file "/textfile0.txt" exists in trash
-