--- pyusb-1.0.0b1.orig/usb/backend/libusb1.py	2013-10-21 12:56:10.000000000 -0500
+++ pyusb-1.0.0b1/usb/backend/libusb1.py	2014-12-08 16:49:07.141514148 -0600
@@ -265,13 +265,7 @@
 
 def _load_library():
     if sys.platform != 'cygwin':
-        candidates = ('usb-1.0', 'libusb-1.0', 'usb')
-        for candidate in candidates:
-            if sys.platform == 'win32':
-                candidate = candidate + '.dll'
-
-            libname = ctypes.util.find_library(candidate)
-            if libname is not None: break
+        libname = '/system/lib/libusb1.0.so'
     else:
         # corner cases
         # cygwin predefines library names with 'cyg' instead of 'lib'
@@ -672,16 +666,21 @@
 
 # implementation of libusb 1.0 backend
 class _LibUSB(usb.backend.IBackend):
+    
+    ran_init = False
+    
     @methodtrace(_logger)
     def __init__(self, lib):
         usb.backend.IBackend.__init__(self)
         self.lib = lib
         self.ctx = c_void_p()
         _check(self.lib.libusb_init(byref(self.ctx)))
+        self.ran_init = True
 
     @methodtrace(_logger)
     def __del__(self):
-        self.lib.libusb_exit(self.ctx)
+	if self.ran_init is True:
+	  self.lib.libusb_exit(self.ctx)
 
 
     @methodtrace(_logger)
