diff --git a/apps/files_encryption/lib/crypt.php b/apps/files_encryption/lib/crypt.php
index 945b342a3163b36a7194b60938150e2f7aebfad4..4322bbf1af237a03c02813def4910f6806f1248f 100755
--- a/apps/files_encryption/lib/crypt.php
+++ b/apps/files_encryption/lib/crypt.php
@@ -53,19 +53,26 @@ class Crypt {
 
 		$res = openssl_pkey_new(array('private_key_bits' => 4096));
 
-		// Get private key
-		openssl_pkey_export($res, $privateKey);
+		if ($res === false) {
+			\OCP\Util::writeLog('Encryption library', 'couldn\'t generate users key-pair for ' . \OCP\User::getUser(), \OCP\Util::ERROR);
+			$result = false;
+		} else {
+
+			// Get private key
+			openssl_pkey_export($res, $privateKey);
 
-		// Get public key
-		$publicKey = openssl_pkey_get_details($res);
+			// Get public key
+			$publicKey = openssl_pkey_get_details($res);
 
-		$publicKey = $publicKey['key'];
+			$publicKey = $publicKey['key'];
 
-		return (array(
-			'publicKey' => $publicKey,
-			'privateKey' => $privateKey
-		));
+			$result = array(
+				'publicKey' => $publicKey,
+				'privateKey' => $privateKey
+			);
+		}
 
+		return $result;
 	}
 
 	/**
@@ -287,28 +294,22 @@ class Crypt {
 	public static function symmetricEncryptFileContent($plainContent, $passphrase = '') {
 
 		if (!$plainContent) {
-
+			\OCP\Util::writeLog('Encryption library', 'symmetrically encryption failed, no content given.', \OCP\Util::ERROR);
 			return false;
-
 		}
 
 		$iv = self::generateIv();
 
 		if ($encryptedContent = self::encrypt($plainContent, $iv, $passphrase)) {
-
 			// Combine content to encrypt with IV identifier and actual IV
 			$catfile = self::concatIv($encryptedContent, $iv);
-
 			$padded = self::addPadding($catfile);
 
 			return $padded;
 
 		} else {
-
 			\OCP\Util::writeLog('Encryption library', 'Encryption (symmetric) of keyfile content failed', \OCP\Util::ERROR);
-
 			return false;
-
 		}
 
 	}
diff --git a/apps/files_encryption/lib/util.php b/apps/files_encryption/lib/util.php
index b4b3923a799ef95250a5a330bc5caaf19939f53c..e8e53859bd8b621e6dc324bbbd5b22ab785a8f02 100644
--- a/apps/files_encryption/lib/util.php
+++ b/apps/files_encryption/lib/util.php
@@ -228,18 +228,21 @@ class Util {
 			// Generate keypair
 			$keypair = Crypt::createKeypair();
 
-			\OC_FileProxy::$enabled = false;
+			if ($keypair) {
 
-			// Save public key
-			$this->view->file_put_contents($this->publicKeyPath, $keypair['publicKey']);
+				\OC_FileProxy::$enabled = false;
 
-			// Encrypt private key with user pwd as passphrase
-			$encryptedPrivateKey = Crypt::symmetricEncryptFileContent($keypair['privateKey'], $passphrase);
+				// Encrypt private key with user pwd as passphrase
+				$encryptedPrivateKey = Crypt::symmetricEncryptFileContent($keypair['privateKey'], $passphrase);
 
-			// Save private key
-			$this->view->file_put_contents($this->privateKeyPath, $encryptedPrivateKey);
+				// Save key-pair
+				if ($encryptedPrivateKey) {
+					$this->view->file_put_contents($this->privateKeyPath, $encryptedPrivateKey);
+					$this->view->file_put_contents($this->publicKeyPath, $keypair['publicKey']);
+				}
 
-			\OC_FileProxy::$enabled = true;
+				\OC_FileProxy::$enabled = true;
+			}
 
 		} else {
 			// check if public-key exists but private-key is missing