diff --git a/apps/files/css/files.css b/apps/files/css/files.css
index 74478338c543ef2937811ef1670804ee6bacadb7..2ba1f774d49ff7f67c0c38142c301c8db1f1380d 100644
--- a/apps/files/css/files.css
+++ b/apps/files/css/files.css
@@ -411,20 +411,37 @@ table td.filename .uploadtext {
 }
 
 /* File checkboxes */
-#fileList tr td.filename>.selectCheckBox + label:before {
+html:not(.ie8) #fileList tr td.filename>.selectCheckBox + label:before {
 	opacity: 0;
 	position: absolute;
 	bottom: 4px;
 	right: 0;
 	z-index: 10;
 }
+html.ie8 #fileList tr td.filename>.selectCheckBox {
+	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
+	filter: alpha(opacity=0);
+	opacity: 0;
+	float: left;
+	top: 0;
+	margin: 32px 0 4px 32px; /* bigger clickable area doesn’t work in FF width:2.8em; height:2.4em;*/
+}
 
 /* Show checkbox when hovering, checked, or selected */
-#fileList tr:hover td.filename>.selectCheckBox + label:before,
-#fileList tr:focus td.filename>.selectCheckBox + label:before,
-#fileList tr td.filename>.selectCheckBox:checked + label:before,
-#fileList tr.selected td.filename>.selectCheckBox + label:before {
+html.ie8 #fileList tr:hover td.filename>.selectCheckBox,
+html.ie8 #fileList tr:focus td.filename>.selectCheckBox,
+html.ie8 #fileList tr td.filename>.selectCheckBox:checked,
+html.ie8 #fileList tr.selected td.filename>.selectCheckBox,
+html:not(.ie8) #fileList tr:hover td.filename>.selectCheckBox + label:before,
+html:not(.ie8) #fileList tr:focus td.filename>.selectCheckBox + label:before,
+html:not(.ie8) #fileList tr td.filename>.selectCheckBox:checked + label:before,
+html:not(.ie8) #fileList tr.selected td.filename>.selectCheckBox + label:before {
 	opacity: 1;
+}
+html.ie8 #fileList tr:hover td.filename>.selectCheckBox,
+html.ie8 #fileList tr:focus td.filename>.selectCheckBox,
+html.ie8 #fileList tr td.filename>.selectCheckBox[checked=checked],
+html.ie8 #fileList tr.selected td.filename>.selectCheckBox {
 	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
 	filter: alpha(opacity=100);
 }
@@ -447,6 +464,7 @@ table td.filename .uploadtext {
 .select-all + label {
 	top: 0;
 }
+.ie8 .select-all,
 .select-all + label:before {
 	position: absolute;
 	top: 18px;
diff --git a/core/css/styles.css b/core/css/styles.css
index c0da29b71ca839f5468df034d6e9c2f1e0b66fac..df533aab31846d266da539881168b99569954f92 100644
--- a/core/css/styles.css
+++ b/core/css/styles.css
@@ -159,6 +159,9 @@ textarea:hover, textarea:focus, textarea:active {
 	opacity: 1;
 }
 
+.ie8 input[type="checkbox"] { margin:0; padding:0; height:auto; width:auto; }
+.ie8 input[type="checkbox"]:hover+label, input[type="checkbox"]:focus+label { color:#111 !important; }
+
 /* ie8 doesn't support :checked */
 html:not(.ie8) input[type="checkbox"].checkbox {
 	margin:0;
@@ -657,6 +660,14 @@ label.infield {
 	padding-left: 28px;
 	vertical-align: middle;
 }
+html.ie8 #body-login form input[type="checkbox"]+label {
+	margin-left: -28px;
+	margin-top: -3px;
+	vertical-align: auto;
+}
+html.ie8 #body-login form input[type="checkbox"] {
+	margin-top: 5px;
+}
 #body-login form .errors { background:#fed7d7; border:1px solid #f00; list-style-indent:inside; margin:0 0 2em; padding:1em; }
 #body-login .success { background:#d7fed7; border:1px solid #0f0; width: 35%; margin: 30px auto; padding:1em; text-align: center;}
 
@@ -852,7 +863,6 @@ label.infield {
 }
 #remember_login {
 	margin: 18px 5px 0 16px !important;
-	vertical-align: text-bottom;
 	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
 	opacity: .7;
 }