--- ../../../src/smack/org/jivesoftware/smack/Connection.java	2010-02-03 23:29:21.000000000 +0100
+++ org/jivesoftware/smack/Connection.java	2010-02-03 23:56:56.000000000 +0100
@@ -743,12 +743,12 @@
                 if (debuggerClass == null) {
                     try {
                         debuggerClass =
-                                Class.forName("org.jivesoftware.smackx.debugger.EnhancedDebugger");
+                                Class.forName("de.measite.smack.AndroidDebugger");
                     }
                     catch (Exception ex) {
                         try {
                             debuggerClass =
-                                    Class.forName("org.jivesoftware.smack.debugger.LiteDebugger");
+                                    Class.forName("org.jivesoftware.smack.debugger.ConsoleDebugger");
                         }
                         catch (Exception ex2) {
                             ex2.printStackTrace();
