diff --git a/core/js/multiselect.js b/core/js/multiselect.js
index 9e808a2bb72b10a1696b275672d566a65e5c30bd..d66c8eba6255cbdb0cce9080ab9cd1c0771794e3 100644
--- a/core/js/multiselect.js
+++ b/core/js/multiselect.js
@@ -238,7 +238,9 @@
 				list.append(li);
 			}
 			var pos=button.position();
-			if($(document).height() > button.offset().top+button.outerHeight() + list.children().length * button.height()) {
+			if($(document).height() > (button.offset().top+button.outerHeight() + list.children().length * button.height())
+				|| $(document).height()/2 > pos.top
+			) {
 				list.css('top',pos.top+button.outerHeight()-5);
 				list.css('left',pos.left+3);
 				list.css('width',(button.outerWidth()-2)+'px');