Index: gstreamer0.10-0.10.31.2/gst/gstregistry.c
===================================================================
--- gstreamer0.10-0.10.31.2.orig/gst/gstregistry.c	2011-01-06 20:35:59.000000000 +0100
+++ gstreamer0.10-0.10.31.2/gst/gstregistry.c	2011-01-08 17:05:28.959841191 +0100
@@ -121,6 +121,10 @@
 #include <stdio.h>
 #include <string.h>
 
+#ifdef HAVE_SYS_UTSNAME_H
+#include <sys/utsname.h>
+#endif
+
 /* For g_stat () */
 #include <glib/gstdio.h>
 
@@ -1493,6 +1497,10 @@
    * path, and the plugins installed in the user's home directory */
   plugin_path = g_getenv ("GST_PLUGIN_SYSTEM_PATH");
   if (plugin_path == NULL) {
+#if defined(__linux__) && defined (__i386__)
+    struct utsname uts;
+#endif
+    char *plugindir = PLUGINDIR;
     char *home_plugins;
 
     GST_DEBUG ("GST_PLUGIN_SYSTEM_PATH not set");
@@ -1506,8 +1514,14 @@
     g_free (home_plugins);
 
     /* add the main (installed) library path */
-    GST_DEBUG ("scanning main plugins %s", PLUGINDIR);
-    changed |= gst_registry_scan_path_internal (&context, PLUGINDIR);
+#if defined(__linux__) && defined (__i386__)
+    uname(&uts);
+    if (!strcmp("x86_64", uts.machine)
+         && !access("/usr/lib32/gstreamer-0.10", R_OK|X_OK))
+       plugindir = "/usr/lib32/gstreamer-0.10";
+#endif
+    GST_DEBUG ("scanning main plugins %s", plugindir);
+    changed |= gst_registry_scan_path_internal (&context, plugindir);
 
 #ifdef G_OS_WIN32
     {
