diff --git a/lib/private/util.php b/lib/private/util.php
index d2d286fc11e0e11acb0c4ae95d87b7c26a20d697..2f2d7fb9ed387454c366e513e60f2b2af8363ee1 100644
--- a/lib/private/util.php
+++ b/lib/private/util.php
@@ -10,6 +10,7 @@ class OC_Util {
 	public static $headers = array();
 	private static $rootMounted = false;
 	private static $fsSetup = false;
+	private static $loadedScriptTranslations = array();
 
 	private static function initLocalStorageRootFS() {
 		// mount local file backend as root
@@ -362,6 +363,12 @@ class OC_Util {
 	public static function addScript($application, $file = null) {
 		$path = OC_Util::generatePath($application, 'js', $file);
 		if (!in_array($path, self::$scripts)) {
+			// load javascript translations if it is the first time an app's
+			// script is loaded.
+			if (!in_array($application, self::$loadedScriptTranslations)) {
+				self::addTranslations($application);
+				self::$loadedScriptTranslations[] = $application;
+			}
 			self::$scripts[] = $path;
 		}
 	}