diff --git a/settings/js/apps.js b/settings/js/apps.js
index b6f6363a99228c5cc163a037ceb80e8a01bc42e8..a99df65e3c1927a27f68a7547569137b477f41ed 100644
--- a/settings/js/apps.js
+++ b/settings/js/apps.js
@@ -124,6 +124,7 @@ OC.Settings.Apps = OC.Settings.Apps || {
 				$('.app-level .experimental').tipsy({fallback: t('settings', 'This app is not checked for security issues and is new or known to be unstable. Install at your own risk.')});
 			},
 			complete: function() {
+				var availableUpdates = 0;
 				$('#apps-list').removeClass('icon-loading');
 				$.ajax(OC.generateUrl('settings/apps/list?category={categoryId}&includeUpdateInfo=1', {
 					categoryId: categoryId
@@ -135,8 +136,14 @@ OC.Settings.Apps = OC.Settings.Apps || {
 								var $update = $('#app-' + app.id + ' .update');
 								$update.removeClass('hidden');
 								$update.val(t('settings', 'Update to %s').replace(/%s/g, app.update));
+								availableUpdates++;
+								OC.Settings.Apps.State.apps[app.id].update = true;
 							}
-						})
+						});
+
+						if (availableUpdates > 0) {
+							OC.Notification.show(n('settings', 'You have %n app update pending', 'You have %n app updates pending', availableUpdates));
+						}
 					}
 				});
 			}
diff --git a/settings/templates/apps.php b/settings/templates/apps.php
index 489062d51914eb61e5522e35628c57f34be4295e..ef89a5393cd091c7bbee1a05025037c97957049a 100644
--- a/settings/templates/apps.php
+++ b/settings/templates/apps.php
@@ -97,6 +97,10 @@ script(
 	<div class="app-description-toggle-show"><?php p($l->t("Show description …"));?></div>
 	<div class="app-description-toggle-hide hidden"><?php p($l->t("Hide description …"));?></div>
 
+	<div class="app-dependencies update hidden">
+		<p><?php p($l->t('This app has an update available.')); ?></p>
+	</div>
+
 	{{#if missingMinOwnCloudVersion}}
 		<div class="app-dependencies">
 			<p><?php p($l->t('This app has no minimum ownCloud version assigned. This will be an error in ownCloud 11 and later.')); ?></p>