diff --git a/src/plugin_man.cpp b/src/plugin_man.cpp
index 9c6fb3602460914d4eea42813eaca45b261ad67c..eab42e0b9176b0e05db87ae1920cbfd963430fec 100644
--- a/src/plugin_man.cpp
+++ b/src/plugin_man.cpp
@@ -124,11 +124,16 @@ void ZiprPluginManager_t::open_plugins
 
     	while ((dirp = readdir(dp)) != NULL) 
 	{
-        	string name=dir+string(dirp->d_name);
+		string basename = string(dirp->d_name);
+		string name=dir+basename;
 		string zpi(".zpi");
-
 		string extension=name.substr(name.size() - zpi.length());
-		if(extension!=zpi)
+
+		// Automatically skip cwd and pwd entries.
+		if(basename == "." || basename == "..")
+			continue;
+
+		if (extension!=zpi)
 		{
 			cout<<"File ("<<name<<") does not have proper extension, skipping."<<endl;
 			continue; // try next file