diff --git a/core/css/fixes.css b/core/css/fixes.css
index 3cdeccb03874332acb38691aee23dd13244f4a8a..bec002b96b3e0115797bc47ff6d0d7c23791069b 100644
--- a/core/css/fixes.css
+++ b/core/css/fixes.css
@@ -58,3 +58,8 @@
 .ie9 #navigation {
 	width: 100px;
 }
+
+/* IE8 isn't able to display transparent background. So it is specified using a gradient */
+.ie8 #nojavascript {
+	filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#4c320000', endColorstr='#4c320000'); /* IE */
+}
diff --git a/core/css/styles.css b/core/css/styles.css
index fa001d41c2c558935ca07661b0e7b3d289234629..2a86b026597fcd74816a8f787d52f9591c4cccc3 100644
--- a/core/css/styles.css
+++ b/core/css/styles.css
@@ -46,6 +46,34 @@ body { background:#fefefe; font:normal .8em/1.6em "Helvetica Neue",Helvetica,Ari
 	opacity: 1;
 }
 
+#nojavascript {
+	position: absolute;
+	top: 0;
+	bottom: 0;
+	z-index: 999;
+	width: 100%;
+	text-align: center;
+	background-color: rgba(50,0,0,0.5);
+	color: white;
+	text-shadow: 0px 0px 5px black;
+	line-height: 125%;
+	font-size: x-large;
+}
+#nojavascript div {
+	width: 50%;
+	top: 40%;
+	position: absolute;
+	left: 50%;
+	margin-left: -25%;
+}
+#nojavascript a {
+	color: #ccc;
+	text-decoration: underline;
+}
+#nojavascript a:hover {
+	color: #aaa;
+}
+
 /* INPUTS */
 input[type="text"],
 input[type="password"],
diff --git a/core/templates/layout.user.php b/core/templates/layout.user.php
index 9e1d8022ecbef3a14c0dc65a0e42e4d7d05a719e..45b7e39686dfe4601923414417f4a3fc8f11777f 100644
--- a/core/templates/layout.user.php
+++ b/core/templates/layout.user.php
@@ -37,6 +37,7 @@
 	</head>
 
 	<body id="<?php p($_['bodyid']);?>">
+	<noscript><div id="nojavascript"><div><?php print_unescaped($l->t('This application requires JavaScript to be enabled for correct operation.  Please <a href="http://enable-javascript.com/" target="_blank">enable JavaScript</a> and re-load this interface.')); ?></div></div></noscript>
 	<div id="notification-container">
 		<div id="notification"></div>
 		<?php if ($_['updateAvailable']): ?>