diff --git a/apps/files_encryption/hooks/hooks.php b/apps/files_encryption/hooks/hooks.php
index 741df166b70179ce5c3c089097e2f619ce12408f..e933207a9e10090e425e14b491ecde9d5c7a598a 100644
--- a/apps/files_encryption/hooks/hooks.php
+++ b/apps/files_encryption/hooks/hooks.php
@@ -40,7 +40,7 @@ class Hooks {
 	public static function login($params) {
 		$l = new \OC_L10N('files_encryption');
 		//check if all requirements are met
-		if(!Helper::checkRequirements() ) {
+		if(!Helper::checkRequirements() || !Helper::checkConfiguration() ) {
 			$error_msg = $l->t("Missing requirements.");
 			$hint = $l->t('Please make sure that PHP 5.3.3 or newer is installed and that the OpenSSL PHP extension is enabled and configured properly. For now, the encryption app has been disabled.');
 			\OC_App::disable('files_encryption');
diff --git a/apps/files_encryption/lib/helper.php b/apps/files_encryption/lib/helper.php
index 6eee8fed6a63932b01071dc0b173ee8041dc6f1a..d3d4afff912c1f31ca0714d4753267f81c1363dc 100755
--- a/apps/files_encryption/lib/helper.php
+++ b/apps/files_encryption/lib/helper.php
@@ -232,6 +232,18 @@ class Helper {
 
 		return (bool) $result;
 	}
+	
+	/**
+	 * check some common errors if the server isn't configured properly for encryption
+	 * @return bool true if configuration seems to be OK
+	 */
+	public static function checkConfiguration() {
+		if(openssl_pkey_new(array('private_key_bits' => 4096))) {
+			return true;
+		} else {
+			return false;
+		}
+	}
 
 	/**
 	 * @brief glob uses different pattern than regular expressions, escape glob pattern only