diff --git a/core/setup/controller.php b/core/setup/controller.php
index 697408cfb576ee603f1a162a8cb24277e307e9ab..bb9c9101fe29a22d2a5c41bde836f7b85c474baf 100644
--- a/core/setup/controller.php
+++ b/core/setup/controller.php
@@ -80,6 +80,13 @@ class Controller {
 		return $post;
 	}
 
+	/**
+	 * Gathers system information like database type and does
+	 * a few system checks.
+	 *
+	 * @return array of system info, including an "errors" value
+	 * in case of errors/warnings
+	 */
 	public function getSystemInfo() {
 		$hasSQLite = class_exists('SQLite3');
 		$hasMySQL = is_callable('mysql_connect');
@@ -122,6 +129,20 @@ class Controller {
 			$htaccessWorking = false;
 		}
 
+		if (\OC_Util::runningOnMac()) {
+			$l10n = \OC_L10N::get('core');
+			$themeName = \OC_Util::getTheme();
+			$theme = new \OC_Defaults();
+			$errors[] = array(
+				'error' => $l10n->t(
+					'Mac OS X is not supported and %s will not work properly on this platform. ' .
+					'Use it at your own risk! ',
+					$theme->getName()
+				),
+				'hint' => $l10n->t('For the best results, please consider using a GNU/Linux server instead.')
+			);
+		}
+
 		return array(
 			'hasSQLite' => $hasSQLite,
 			'hasMySQL' => $hasMySQL,
diff --git a/lib/private/util.php b/lib/private/util.php
index 70dadb1befdee6c03ee8c80b709ebc4b0e11e79a..f72276418bad2a77e62e1235b68fc7b4a3814f89 100755
--- a/lib/private/util.php
+++ b/lib/private/util.php
@@ -1085,12 +1085,21 @@ class OC_Util {
 	}
 
 	/**
-	 * @return bool - well are we running on windows or not
+	 * Checks whether the server is running on Windows
+	 * @return bool true if running on Windows, false otherwise
 	 */
 	public static function runningOnWindows() {
 		return (substr(PHP_OS, 0, 3) === "WIN");
 	}
 
+	/**
+	 * Checks whether the server is running on Mac OS X
+	 * @return bool true if running on Mac OS X, false otherwise
+	 */
+	public static function runningOnMac() {
+		return (strtoupper(substr(PHP_OS, 0, 6)) === 'DARWIN');
+	}
+
 	/**
 	 * Handles the case that there may not be a theme, then check if a "default"
 	 * theme exists and take that one