Index: libjdic-java-0.9.5/jdic/src/share/classes/org/jdesktop/jdic/init/JdicManager.java
===================================================================
--- libjdic-java-0.9.5.orig/jdic/src/share/classes/org/jdesktop/jdic/init/JdicManager.java	2008-07-10 03:54:49.000000000 +0530
+++ libjdic-java-0.9.5/jdic/src/share/classes/org/jdesktop/jdic/init/JdicManager.java	2008-07-10 03:54:50.000000000 +0530
@@ -183,19 +183,8 @@
                 if( null==clNativeExtractor 
                     && JdicManager.class.getClassLoader() instanceof URLClassLoader)
                 {
-                    //running url of current class                                                  
-                    nativeLibPath =  new File(
-                            new URL(JdicManager.class
-                                .getProtectionDomain()
-                                .getCodeSource()
-                                .getLocation(),
-                                ".")
-                            .openConnection()
-                            .getPermission()
-                            .getName()
-                        ).getCanonicalPath()
-                        + File.separator + getPlatform() 
-                        + File.separator + getArchitecture();
+		    // set to java.library.path
+		    nativeLibPath = System.getProperty("java.library.path");
                 }  
             }    
             if(null!=clNativeExtractor){
@@ -311,7 +300,7 @@
                 } else {
                     AccessController.doPrivileged( new PrivilegedExceptionAction() { 
                         public Object run() throws IOException {
-                            System.load(nativeLibPath + File.separator 
+                            System.load(nativeLibPath + File.separator + "lib"
                                     + libName + getPlatformDLLext());
                             return null;
                         }
Index: libjdic-java-0.9.5/jdic/src/unix/classes/org/jdesktop/jdic/tray/internal/impl/GnomeSystemTrayService.java
===================================================================
--- libjdic-java-0.9.5.orig/jdic/src/unix/classes/org/jdesktop/jdic/tray/internal/impl/GnomeSystemTrayService.java	2008-07-10 03:54:43.000000000 +0530
+++ libjdic-java-0.9.5/jdic/src/unix/classes/org/jdesktop/jdic/tray/internal/impl/GnomeSystemTrayService.java	2008-07-10 03:54:50.000000000 +0530
@@ -69,7 +69,7 @@
         t.sync();
 
         try{
-            JdicManager.loadLibrary("jdic");
+            JdicManager.loadLibrary("tray");
         }catch(PrivilegedActionException e){
             e.printStackTrace();
         }
Index: libjdic-java-0.9.5/jdic/src/unix/classes/org/jdesktop/jdic/tray/internal/impl/GnomeTrayAppletService.java
===================================================================
--- libjdic-java-0.9.5.orig/jdic/src/unix/classes/org/jdesktop/jdic/tray/internal/impl/GnomeTrayAppletService.java	2008-07-10 03:54:43.000000000 +0530
+++ libjdic-java-0.9.5/jdic/src/unix/classes/org/jdesktop/jdic/tray/internal/impl/GnomeTrayAppletService.java	2008-07-10 03:56:32.000000000 +0530
@@ -85,7 +85,7 @@
         // System.out.println("version = " + version);
         // System.out.flush();
 
-        if ((version.indexOf("1.5") == -1) || (os.equals("SunOS"))) {
+        if (((version.indexOf("1.6") == -1) && (version.indexOf("1.5") == -1))|| (os.equals("SunOS"))) {
             // 1.4.2 or older JVM, use MAWT !
             long w = getWidget(window, 400, 400, 0, 0);
             // System.out.println("Widget w = " + w);
