diff --git a/cordova-lib/src/PluginInfo.js b/cordova-lib/src/PluginInfo.js
index <HASH>..<HASH> 100644
--- a/cordova-lib/src/PluginInfo.js
+++ b/cordova-lib/src/PluginInfo.js
@@ -270,10 +270,15 @@ function loadPluginsDir(dirname) {
     var plugins = [];
     subdirs.forEach(function (subdir) {
         var d = path.join(dirname, subdir);
-        if (!fs.existsSync(path.join(d, 'plugin.xml')))
+        if (!fs.existsSync(path.join(d, 'plugin.xml'))) {
             return; // continue
-        var p = new PluginInfo(d);
-        plugins.push(p);
+        }
+        try {
+        	var p = new PluginInfo(d);
+        	plugins.push(p);
+        } catch (e) {
+        	// ignore errors while parsing so we can continue with searching
+        }
     });
     return plugins;
 }
CB-<I> - cordova plugin add --searchpath does not recurse through subfolders when a plugin.xml is malformed in one of them