diff --git a/apps/addressbook/java/src/addressbook/AddressBook.java b/apps/addressbook/java/src/addressbook/AddressBook.java
index 4fc81b99f7081b5f6cf20d0f6c73fa88dc8c4446..0a5b0c072a313e10d8aff9180f11c7468744be07 100644
--- a/apps/addressbook/java/src/addressbook/AddressBook.java
+++ b/apps/addressbook/java/src/addressbook/AddressBook.java
@@ -169,7 +169,16 @@ public class AddressBook {
                 (! host.startsWith("-")) &&
                 (! host.endsWith("-.i2p")) &&
 		host.indexOf("..") < 0 &&
+                // IDN - basic check, not complete validation
+                (host.indexOf("--") < 0 || host.startsWith("xn--") || host.indexOf(".xn--") > 0) &&
                 host.replaceAll("[a-z0-9.-]", "").length() == 0 &&
+                // some reserved names that may be used for local configuration someday
+                (! host.equals("proxy.i2p")) &&
+                (! host.equals("router.i2p")) &&
+                (! host.equals("console.i2p")) &&
+                (! host.endsWith(".proxy.i2p")) &&
+                (! host.endsWith(".router.i2p")) &&
+                (! host.endsWith(".console.i2p")) &&
 
 		dest.length() == 516 &&
                 dest.endsWith("AAAA") &&