Index: gstreamer-1.3.3/gst/gstregistry.c
===================================================================
--- gstreamer-1.3.3.orig/gst/gstregistry.c
+++ gstreamer-1.3.3/gst/gstregistry.c
@@ -139,6 +139,9 @@
 #ifdef G_OS_WIN32
 #include <windows.h>
 extern HMODULE _priv_gst_dll_handle;
+#ifndef X_OK
+#define X_OK 0
+#endif
 #endif
 
 #define GST_CAT_DEFAULT GST_CAT_REGISTRY
@@ -1258,6 +1261,12 @@ gst_registry_scan_path_level (GstRegistr
       }
       g_free (filename);
       continue;
+    } 
+     if (g_access(filename,X_OK)!=0) {
+      GST_TRACE_OBJECT (context->registry, "%s file status not an executable file, ignoring",
+          filename);
+      g_free (filename);
+      continue;
     }
     if (!(file_status.st_mode & S_IFREG)) {
       GST_TRACE_OBJECT (context->registry, "%s is not a regular file, ignoring",
