diff --git a/plupload.install b/plupload.install
index ef808e5..bcf0815 100644
--- a/plupload.install
+++ b/plupload.install
@@ -12,18 +12,83 @@ function plupload_requirements($phase) {
   $requirements = array();
 
   if ($phase == 'runtime') {
-    $libraries = plupload_library();
-     $library = $libraries['plupload'];
-     // We grab the first file.
-    $testfile = key($library['js']);
-    if (!file_exists($testfile)) {
-      $requirements['plupload'] = array(
-        'title' => check_plain($library['title']),
-        'value' => t('The <a href="@url">@title</a> library (version @version) is not installed.', array('@title' => $library['title'], '@url' => url($library['website']), '@version' => $library['version'])),
-        'severity' => REQUIREMENT_ERROR,
+    $requirements['plupload'] = array(
+        'title' => t('Plupload library'),
+        'value' => t('Unknown'),
+    );
+    $requirements['plupload']['severity'] = REQUIREMENT_OK;
+
+    // Check if Plupload library exists. Try to determine it's version
+    // if it does.
+    if (!_plupload_requirements_installed()) {
+      $libraries = plupload_library();
+      $library = $libraries['plupload'];
+
+      $message = 'The <a href="@url">@title</a> library (version @version) is not installed.';
+      $args = array(
+        '@title' => $library['title'],
+        '@url' => url($library['website']),
+        '@version' => $library['version']
       );
+
+      $requirements['plupload']['description'] = t($message, $args);
+      $requirements['plupload']['severity'] = REQUIREMENT_ERROR;
+    }
+    elseif (($installed_version = _plupload_requirements_version()) === NULL) {
+      $requirements['plupload']['description'] = t('Plupload version could not be determined.');
+      $requirements['plupload']['severity'] = REQUIREMENT_INFO;
+    }
+
+    if (!empty($installed_version)) {
+        $requirements['plupload']['value'] = $installed_version;
+    }
+    else {
+      $requirements['plupload']['value'] = t('Not found');
     }
   }
 
   return $requirements;
 }
+
+/**
+ * Checks wether Plupload library exists or not.
+ *
+ * @return TRUE if plupload library installed, FALSE otherwise.
+ */
+function _plupload_requirements_installed() {
+  $libraries = plupload_library();
+  $library = $libraries['plupload'];
+
+  // We grab the first file and check if it exists.
+  $testfile = key($library['js']);
+  if (!file_exists($testfile)) {
+    return FALSE;
+  }
+
+  return TRUE;
+}
+
+/**
+ * Returns the version of the installed plupload library.
+ *
+ * @return The version of installed Plupload or NULL if unable to detect
+ * 		version.
+ */
+function _plupload_requirements_version() {
+  $library_path = _plupload_library_path();
+  $jspath = $library_path . '/js/plupload.js';
+
+  // Read contents of Plupload's javascript file.
+  $configcontents = @file_get_contents($jspath);
+  if (!$configcontents) {
+      return NULL;
+  }
+
+  // Search for version string using a regular expression.
+  $matches = array();
+  if (preg_match('#VERSION:\"(\d+[\.\d+]*)\"#', $configcontents, $matches)) {
+      return $matches[1];
+  }
+
+  return NULL;
+}
diff --git a/plupload.module b/plupload.module
index a37a62a..f199f65 100644
--- a/plupload.module
+++ b/plupload.module
@@ -234,10 +234,17 @@ function plupload_element_pre_render($element) {
 }
 
 /**
+ * Returns the path to the plupload library.
+ */
+function _plupload_library_path() {
+  return variable_get('plupload_library_path', module_exists('libraries') ? libraries_get_path('plupload') : 'sites/all/libraries/plupload');
+}
+
+/**
  * Implements hook_library().
  */
 function plupload_library() {
-  $library_path = variable_get('plupload_library_path', module_exists('libraries') ? libraries_get_path('plupload') : 'sites/all/libraries/plupload');
+  $library_path = _plupload_library_path();
   $libraries['plupload'] = array(
     'title' => 'Plupload',
     'website' => 'http://www.plupload.com',
