diff --git a/core/css/apps.css b/core/css/apps.css
index ee68c45b1f210c4f1a5e82597f4ffd7e7e96f360..33bcbf09d68508556731f0500647721d29f76102 100644
--- a/core/css/apps.css
+++ b/core/css/apps.css
@@ -307,10 +307,15 @@
 	-o-filter: drop-shadow(0 0 5px rgba(150, 150, 150, 0.75));
 	filter: drop-shadow(0 0 5px rgba(150, 150, 150, 0.75));
 }
+
 .ie .bubble,
 .ie #app-navigation .app-navigation-entry-menu,
 .ie .bubble:after,
-.ie #app-navigation .app-navigation-entry-menu:after {
+.ie #app-navigation .app-navigation-entry-menu:after,
+.edge .bubble,
+.edge #app-navigation .app-navigation-entry-menu,
+.edge .bubble:after,
+.edge #app-navigation .app-navigation-entry-menu:after {
 	border: 1px solid #eee;
 }
 .ie8 .bubble {
diff --git a/core/js/js.js b/core/js/js.js
index 460f65256a9cf00282965cdee0a397c9e38ecd91..07320a1d225fd17ad8063497f121af1841cf897a 100644
--- a/core/js/js.js
+++ b/core/js/js.js
@@ -1236,6 +1236,14 @@ function initCore() {
 	 */
 	moment.locale(OC.getLocale());
 
+	if ($.browser.msie || !!navigator.userAgent.match(/Trident\/7\./)) {
+		// for IE10+ that don't have conditional comments
+		// and IE11 doesn't identify as MSIE any more...
+		$('html').addClass('ie');
+	} else if (!!navigator.userAgent.match(/Edge\/12/)) {
+		// for edge
+		$('html').addClass('edge');
+	}
 
 	/**
 	 * Calls the server periodically to ensure that session doesn't