diff --git a/apps/addressbook/java/src/net/i2p/addressbook/Daemon.java b/apps/addressbook/java/src/net/i2p/addressbook/Daemon.java
index 50f2c9fd522561a2fd0dc1ab363181e01d1ddcdb..0e9a314a03d20c68ace9dc7c97c622654698b0aa 100644
--- a/apps/addressbook/java/src/net/i2p/addressbook/Daemon.java
+++ b/apps/addressbook/java/src/net/i2p/addressbook/Daemon.java
@@ -126,10 +126,11 @@ public class Daemon {
             long start = System.currentTimeMillis();
             AddressBook sub = iter.next();
             long end = System.currentTimeMillis();
-            if (DEBUG && log != null)
+            // SubscriptionIterator puts in a dummy AddressBook with no location if no fetch is done
+            if (DEBUG && log != null && sub.getLocation() != null)
                 log.append("Fetch of " + sub.getLocation() + " took " + (end - start));
             start = end;
-            int old = 0, nnew = 0, invalid = 0, conflict = 0;
+            int old = 0, nnew = 0, invalid = 0, conflict = 0, total = 0;
             for (Iterator<Map.Entry<String, String>> eIter = sub.iterator(); eIter.hasNext(); ) {
                 Map.Entry<String, String> entry = eIter.next();
                 String key = entry.getKey();
@@ -197,10 +198,12 @@ public class Daemon {
                         log.append("Invalid b64 for" + key + " From: " + sub.getLocation());
                     invalid++;
                 }
+                total++;
             }
-            if (DEBUG && log != null) {
+            if (DEBUG && log != null && total > 0) {
                 log.append("Merge of " + sub.getLocation() + " into " + router +
                            " took " + (System.currentTimeMillis() - start) + " ms with " +
+                           total + " total, " +
                            nnew + " new, " +
                            old + " old, " +
                            invalid + " invalid, " +
diff --git a/apps/addressbook/java/src/net/i2p/addressbook/DaemonThread.java b/apps/addressbook/java/src/net/i2p/addressbook/DaemonThread.java
index 44592f8ef57dd4d84d1bea3d438107268463cd2d..01597e765fd1ada736fa865361ba34e968a28597 100644
--- a/apps/addressbook/java/src/net/i2p/addressbook/DaemonThread.java
+++ b/apps/addressbook/java/src/net/i2p/addressbook/DaemonThread.java
@@ -66,6 +66,7 @@ class DaemonThread extends Thread implements NamingServiceUpdater {
 
     /**
      *  The NamingServiceUpdater interface
+     *  @param options ignored
      *  @since 0.8.6
      */
     public void update(Properties options) {
diff --git a/core/java/src/net/i2p/client/naming/BlockfileNamingService.java b/core/java/src/net/i2p/client/naming/BlockfileNamingService.java
index 96372159563500a01c93e80bef8a8db260ff451d..b19a211db31e40f336aa9a56e4f5254a9c3a7650 100644
--- a/core/java/src/net/i2p/client/naming/BlockfileNamingService.java
+++ b/core/java/src/net/i2p/client/naming/BlockfileNamingService.java
@@ -202,9 +202,10 @@ public class BlockfileNamingService extends DummyNamingService {
             if (_log.shouldLog(Log.INFO))
                 _log.info("DB init took " + DataHelper.formatDuration(_context.clock().now() - start));
             if (total <= 0)
-                _log.error("Warning - initialized database with zero entries");
+                _log.logAlways(Log.WARN, "No hosts.txt files found, Initialized hosts database with zero entries");
             return rv;
         } catch (RuntimeException e) {
+            _log.error("Failed to initialize database", e);
             throw new IOException(e.toString());
         }
     }
@@ -245,9 +246,11 @@ public class BlockfileNamingService extends DummyNamingService {
             if (skiplists.isEmpty())
                 skiplists.add(FALLBACK_LIST);
             _lists.addAll(skiplists);
-            _log.error("DB init took " + DataHelper.formatDuration(_context.clock().now() - start));
+            if (_log.shouldLog(Log.INFO))
+                _log.info("DB init took " + DataHelper.formatDuration(_context.clock().now() - start));
             return bf;
         } catch (RuntimeException e) {
+            _log.error("Failed to initialize database", e);
             throw new IOException(e.toString());
         }
     }
@@ -262,8 +265,6 @@ public class BlockfileNamingService extends DummyNamingService {
             if (sl == null)
                 return null;
             DestEntry rv = (DestEntry) sl.get(key);
-            // Control memory usage
-////////    _bf.closeIndex(listname);
             return rv;
         } catch (IOException ioe) {
             _log.error("DB Lookup error", ioe);
@@ -292,8 +293,6 @@ public class BlockfileNamingService extends DummyNamingService {
             if (source != null)
                 props.setProperty(PROP_SOURCE, source);
             addEntry(sl, key, dest, props);
-            // Control memory usage
-//////      bf.closeIndex(listname);
         } catch (IOException ioe) {
             _log.error("DB add error", ioe);
             // delete index??
@@ -752,7 +751,6 @@ public class BlockfileNamingService extends DummyNamingService {
 
     public static void main(String[] args) {
         BlockfileNamingService bns = new BlockfileNamingService(I2PAppContext.getGlobalContext());
-        //System.out.println("zzz.i2p: " + bns.lookup("zzz.i2p"));
         List<String> names = null;
         try {
             Properties props = new Properties();
diff --git a/core/java/src/net/i2p/client/naming/NamingService.java b/core/java/src/net/i2p/client/naming/NamingService.java
index ba26d45ed0b8f8dbc0fabdd2e2b5b31a5fc46617..b9ffd6299325e89ba50d6dac434b07b4f0968129 100644
--- a/core/java/src/net/i2p/client/naming/NamingService.java
+++ b/core/java/src/net/i2p/client/naming/NamingService.java
@@ -432,7 +432,7 @@ public abstract class NamingService {
             instance = (NamingService)con.newInstance(new Object[] { context });
         } catch (Exception ex) {
             Log log = context.logManager().getLog(NamingService.class);
-            log.error("Cannot load naming service " + impl, ex);
+            log.error("Cannot load naming service " + impl + ", only .b32.i2p lookups will succeed", ex);
             instance = new DummyNamingService(context); // fallback
         }
         return instance;