diff --git a/lib/private/Activity/Manager.php b/lib/private/Activity/Manager.php
index 325f19bb7f18c3e39277469b618d5a5c294b602f..cbe2d8c3eeeabde17a2452fd15982f4a195e1455 100644
--- a/lib/private/Activity/Manager.php
+++ b/lib/private/Activity/Manager.php
@@ -271,9 +271,11 @@ class Manager implements IManager {
 			/** @var ISetting $setting */
 			$setting = \OC::$server->query($class);
 
-			if ($setting instanceof ISetting) {
-				$setting = new ActivitySettingsAdapter($setting);
-			} elseif (!$setting instanceof ActivitySettings) {
+			if (!$setting instanceof ISetting) {
+				if (!$setting instanceof ActivitySettings) {
+					$setting = new ActivitySettingsAdapter($setting);
+				}
+			} else {
 				throw new \InvalidArgumentException('Invalid activity filter registered');
 			}
 
diff --git a/lib/public/Activity/ActivitySettings.php b/lib/public/Activity/ActivitySettings.php
index ad2e0918147d7fe267dc2e0eb1afb0e85dd26341..98b95061cd71188abfb3fb01ac69e6c3461a4403 100644
--- a/lib/public/Activity/ActivitySettings.php
+++ b/lib/public/Activity/ActivitySettings.php
@@ -26,7 +26,7 @@ namespace OCP\Activity;
 /**
  * @since 20.0.0
  */
-abstract class ActivitySettings {
+abstract class ActivitySettings implements ISetting {
 	/**
 	 * @return string Lowercase a-z and underscore only identifier
 	 * @since 20.0.0
@@ -78,4 +78,24 @@ abstract class ActivitySettings {
 	public function isDefaultEnabledNotification() {
 		return $this->isDefaultEnabledMail() && !$this->canChangeMail();
 	}
+
+	/**
+	 * Left in for backwards compatibility
+	 *
+	 * @return bool
+	 * @since 20.0.0
+	 */
+	public function canChangeStream() {
+		return false;
+	}
+
+	/**
+	 * Left in for backwards compatibility
+	 *
+	 * @return bool
+	 * @since 20.0.0
+	 */
+	public function isDefaultEnabledStream() {
+		return true;
+	}
 }