--- vcl/source/gdi/impimagetree.cxx.old	2007-07-24 12:11:00.000000000 +0200
+++ vcl/source/gdi/impimagetree.cxx	2007-08-09 18:54:33.000000000 +0200
@@ -234,10 +234,25 @@ bool ImplImageTree::implInit()
 				
 					if( !mxFileAccess->exists( aRet = aZipURL.GetMainURL( INetURLObject::NO_DECODE ) ) )
 					{
-						if ( bWithStyle && maSymbolsStyle.getLength() > 0 )
-							aRet = implGetZipFileURL( false ); // Try without style
-						else
-							aRet = ::rtl::OUString();
+						// try /usr/share
+						::rtl::OUString aDataDir = ::rtl::OUString::createFromAscii ( "/usr/share/" );
+#ifdef X86_64
+						::rtl::OUString aLibDir = ::rtl::OUString::createFromAscii ( "/usr/lib64/" );
+#else
+						::rtl::OUString aLibDir = ::rtl::OUString::createFromAscii ( "/usr/lib/" );
+#endif
+						sal_Int32 nLibDirPos = aRet.indexOf( aLibDir );
+
+						if ( nLibDirPos >= 0 )
+						{
+							if( !mxFileAccess->exists( aRet = aRet.replaceAt( nLibDirPos, aLibDir.getLength(), aDataDir ) ) )
+							{
+								if ( bWithStyle && maSymbolsStyle.getLength() > 0 )
+									aRet = implGetZipFileURL( false ); // Try without style
+								else
+									aRet = ::rtl::OUString();
+							}
+						}
 					}
 				}
 			}
--- xmlhelp/source/cxxhelp/provider/provider.cxx.old	2007-06-05 20:28:52.000000000 +0200
+++ xmlhelp/source/cxxhelp/provider/provider.cxx	2007-08-09 19:10:44.000000000 +0200
@@ -368,7 +368,7 @@ void ContentProvider::init()
         setupextension );
 	rtl::OUString vendorshort = vendorname;
 	
-    uno::Sequence< rtl::OUString > aImagesZipPaths( 2 );
+    uno::Sequence< rtl::OUString > aImagesZipPaths( 3 );
     xHierAccess = getHierAccess( sProvider,	 "org.openoffice.Office.Common" );
 	
     rtl::OUString aPath( getKey( xHierAccess, "Path/Current/UserConfig" ) );
@@ -378,6 +378,19 @@ void ContentProvider::init()
     aPath = getKey( xHierAccess, "Path/Current/Config" );
     subst( aPath );
     aImagesZipPaths[ 1 ] = aPath;
+
+    // try also /usr/share
+    ::rtl::OUString aDataDir = ::rtl::OUString::createFromAscii ( "/usr/share/" );
+#ifdef X86_64
+    ::rtl::OUString aLibDir = ::rtl::OUString::createFromAscii ( "/usr/lib64/" );
+#else
+    ::rtl::OUString aLibDir = ::rtl::OUString::createFromAscii ( "/usr/lib/" );
+#endif
+    sal_Int32 nLibDirPos = aPath.indexOf( aLibDir );
+
+    if ( nLibDirPos >= 0 )
+	    aPath = aPath.replaceAt( nLibDirPos, aLibDir.getLength(), aDataDir );
+    aImagesZipPaths[ 2 ] = aPath;
 	
     sal_Bool showBasic = getBooleanKey(xHierAccess,"Help/ShowBasic");
     m_pDatabases = new Databases( showBasic, 
