diff --git a/src/applications/feed/query/PhabricatorFeedTransactionQuery.php b/src/applications/feed/query/PhabricatorFeedTransactionQuery.php
--- a/src/applications/feed/query/PhabricatorFeedTransactionQuery.php
+++ b/src/applications/feed/query/PhabricatorFeedTransactionQuery.php
@@ -155,6 +155,20 @@
       ->setAncestorClass('PhabricatorApplicationTransactionQuery')
       ->execute();
 
+    // Remove TransactionQuery classes of uninstalled apps. Increases query
+    // performance and decreases likeliness of an "Query Overheated" error if
+    // an app got uninstalled so data in it cannot be accessed anymore anyway.
+    // See https://secure.phabricator.com/T13133, https://we.phorge.it/T15642
+    foreach ($queries as $key => $query) {
+      $app = $query->getQueryApplicationClass();
+
+      if ($app !== null && (($viewer &&
+          !PhabricatorApplication::isClassInstalledForViewer($app, $viewer))
+          || !PhabricatorApplication::isClassInstalled($app))) {
+        unset($queries[$key]);
+      }
+    }
+
     $type_map = array();
 
     // If we're querying for specific transaction PHIDs, we only need to