diff --git a/src/Basic_Requirement_Checker.php b/src/Basic_Requirement_Checker.php
index 4294a7e348dc3e9fb05f8b746f8c57584d586466..dde2c8ae8950ec7959c41b096130a76e1fb38d9f 100644
--- a/src/Basic_Requirement_Checker.php
+++ b/src/Basic_Requirement_Checker.php
@@ -17,10 +17,9 @@
 			const PLUGIN_INFO_KEY_NAME = 'name';
 			const PLUGIN_INFO_VERSION = 'version';
 			const PLUGIN_INFO_FAKE_REQUIRED_MINIMUM_VERSION = '0.0';
-			const PLUGIN_INFO_TRANSIENT_EXPIRATION_TIME = 0;
 			const PLUGIN_INFO_APPEND_PLUGIN_DATA = 'required_version';
-			const PLUGIN_INFO_REQUIRED_PLUGINS_TRANSIENT_NAME = 'require_plugins_data';
-			const PLUGIN_INFO_IS_WP_PLUGIN_INSTALLED_TRANSIENT_NAME = 'is_wp_plugin_installed';
+			const PLUGIN_INFO_TRANSIENT_NAME = 'require_plugins_data';
+			const PLUGIN_INFO_TRANSIENT_EXPIRATION_TIME = 0;
 			
 			/** @var string */
 			protected $plugin_name;
@@ -285,16 +284,6 @@
 				return defined( 'OPENSSL_VERSION_NUMBER' ) && OPENSSL_VERSION_NUMBER > (int) $required_version;
 			}
 			
-			/**
-			 * @return array Transient Names
-			 */
-			private function transient_names() {
-				return array(
-					self::PLUGIN_INFO_REQUIRED_PLUGINS_TRANSIENT_NAME,
-					self::PLUGIN_INFO_IS_WP_PLUGIN_INSTALLED_TRANSIENT_NAME,
-				);
-			}
-			
 			/**
 			 * @param $notices array
 			 *
@@ -315,24 +304,21 @@
 			}
 			
 			/**
-			 * Check the plugins directory and retrieve installed plugin file or plugin data.
-			 *
-			 * @param $transient_name
-			 * @param $plugin_file
+			 * Check the plugins directory and retrieve all plugin files with plugin data.
 			 *
-			 * @return array|bool
+			 * @return array
 			 */
-			private static function retrieve_plugins_data_in_transient( $transient_name, $plugin_file = '' ) {
-				if ( ! function_exists( 'get_plugins' ) ) {
-					require_once ABSPATH . '/wp-admin/includes/plugin.php';
-				}
+			private static function retrieve_plugins_data_in_transient() {
 				
-				
-				$plugins = get_transient( $transient_name );
+				$plugins = get_transient( self::PLUGIN_INFO_TRANSIENT_NAME );
 				
 				if ( $plugins === false ) {
-					$plugins = ! empty( $plugin_file ) ? array_key_exists( $plugin_file, get_plugins() ) : get_plugins();
-					set_transient( $transient_name, $plugins, self::PLUGIN_INFO_TRANSIENT_EXPIRATION_TIME );
+					if ( ! function_exists( 'get_plugins' ) ) {
+						require_once ABSPATH . '/wp-admin/includes/plugin.php';
+					}
+					
+					$plugins = function_exists( 'get_plugins' ) ? get_plugins() : array();
+					set_transient( self::PLUGIN_INFO_TRANSIENT_NAME, $plugins, self::PLUGIN_INFO_TRANSIENT_EXPIRATION_TIME );
 				}
 				
 				return $plugins;
@@ -346,16 +332,18 @@
 			private function retrieve_required_plugins_data() {
 				
 				$require_plugins = array();
-				$plugins = self::retrieve_plugins_data_in_transient( self::PLUGIN_INFO_REQUIRED_PLUGINS_TRANSIENT_NAME );
-				if ( count( $plugins ) > 0 ) {
-					if ( ! empty( $this->plugin_require ) ) {
-						foreach ( $this->plugin_require as $plugin ) {
-							$plugin_file_name = $plugin[ self::PLUGIN_INFO_KEY_NAME ];
-							$plugin_version = $plugin[ self::PLUGIN_INFO_VERSION ];
-							
-							if ( self::is_wp_plugin_active( $plugin_file_name ) ) {
-								$require_plugins[ $plugin[ $plugin_file_name ] ] = $plugins[ $plugin_file_name ];
-								$require_plugins[ $plugin[ $plugin_file_name ] ][ self::PLUGIN_INFO_APPEND_PLUGIN_DATA ] = $plugin_version;
+				$plugins = self::retrieve_plugins_data_in_transient();
+				if ( is_array( $plugins ) ) {
+					if ( count( $plugins ) > 0 ) {
+						if ( ! empty( $this->plugin_require ) ) {
+							foreach ( $this->plugin_require as $plugin ) {
+								$plugin_file_name = $plugin[ self::PLUGIN_INFO_KEY_NAME ];
+								$plugin_version = $plugin[ self::PLUGIN_INFO_VERSION ];
+								
+								if ( self::is_wp_plugin_active( $plugin_file_name ) ) {
+									$require_plugins[ $plugin_file_name ] = $plugins[ $plugin_file_name ];
+									$require_plugins[ $plugin_file_name ][ self::PLUGIN_INFO_APPEND_PLUGIN_DATA ] = $plugin_version;
+								}
 							}
 						}
 					}
@@ -434,7 +422,7 @@
 				$nice_name = $plugin_info[ self::PLUGIN_INFO_KEY_NICE_NAME ];
 				
 				if ( ! self::is_wp_plugin_active( $name ) ) {
-					if ( ! self::is_wp_plugin_installed( self::PLUGIN_INFO_IS_WP_PLUGIN_INSTALLED_TRANSIENT_NAME, $name ) ) {
+					if ( ! self::is_wp_plugin_installed( $name ) ) {
 						$install_url = $this->prepare_plugin_repository_install_url( $plugin_info );
 						
 						return $this->prepare_notice_message( sprintf( wp_kses( __( 'The &#8220;%s&#8221; plugin requires free %s plugin. <a href="%s">Install %s →</a>',
@@ -475,17 +463,13 @@
 			 * Checks if plugin is installed. Needs to be enabled in deferred way.
 			 *
 			 * @param string $plugin_file
-			 * @param string $transient_name
 			 *
 			 * @return bool
 			 */
-			public static function is_wp_plugin_installed( $transient_name, $plugin_file ) {
-				if ( isset( $plugin_file ) ) {
-					return self::retrieve_plugins_data_in_transient( $transient_name, $plugin_file );
-					
-				}
+			public static function is_wp_plugin_installed( $plugin_file ) {
+				$plugins_data = self::retrieve_plugins_data_in_transient();
 				
-				return false;
+				return array_key_exists( $plugin_file, (array)$plugins_data );
 			}
 			
 			/**
@@ -582,9 +566,7 @@
 				if ( isset( $this->plugin_file ) ) {
 					deactivate_plugins( plugin_basename( $this->plugin_file ) );
 					
-					foreach ($this->transient_names() as $transient_name) {
-						delete_transient( $transient_name );
-					}
+					delete_transient( self::PLUGIN_INFO_TRANSIENT_NAME );
 				}
 			}