* #36914: adjustements with navigation
diff --git a/src/org/sflphone/client/HomeActivity.java b/src/org/sflphone/client/HomeActivity.java
index 0319083..f479a61 100644
--- a/src/org/sflphone/client/HomeActivity.java
+++ b/src/org/sflphone/client/HomeActivity.java
@@ -82,6 +82,7 @@
 import android.support.v4.app.ActionBarDrawerToggle;
 import android.support.v4.app.Fragment;
 import android.support.v4.app.FragmentActivity;
+import android.support.v4.app.FragmentManager;
 import android.support.v4.app.FragmentManager.BackStackEntry;
 import android.support.v4.view.GravityCompat;
 import android.support.v4.widget.DrawerLayout;
@@ -327,9 +328,11 @@
 
         if (getSupportFragmentManager().getBackStackEntryCount() > 0) {
             BackStackEntry entry = getSupportFragmentManager().getBackStackEntryAt(getSupportFragmentManager().getBackStackEntryCount() - 1);
-
+            Log.i(TAG, "Popping:"+ getSupportFragmentManager().getBackStackEntryCount());
+            Log.i(TAG, "Name:"+ entry.getName());
             fContent = getSupportFragmentManager().findFragmentByTag(entry.getName());
-
+            if(fContent == null)
+                Log.i(TAG, "Null frag");
             getSupportFragmentManager().popBackStack();
             return;
         }
@@ -398,7 +401,8 @@
 
                 fMenu = new MenuFragment();
                 fContent = new HomeFragment();
-                getSupportFragmentManager().beginTransaction().replace(R.id.left_drawer, fMenu).replace(R.id.main_frame, fContent).commit();
+                getSupportFragmentManager().beginTransaction().replace(R.id.left_drawer, fMenu).commit();
+                getSupportFragmentManager().beginTransaction().replace(R.id.main_frame, fContent, "Home").commit();
 
                 service.destroyNotification();
             } catch (RemoteException e) {
@@ -678,16 +682,27 @@
     public void onSectionSelected(int pos) {
         switch (pos) {
         case 0:
-            fContent = new HomeFragment();
-            getSupportFragmentManager().beginTransaction().replace(R.id.main_frame, fContent).addToBackStack("HomeTransac").commit();
+
+            if (fContent instanceof HomeFragment)
+                break;
+
+            BackStackEntry entry = getSupportFragmentManager().getBackStackEntryAt(0);
+            fContent = getSupportFragmentManager().findFragmentByTag(entry.getName());
+            getSupportFragmentManager().popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
+
             break;
         case 1:
+            if (fContent instanceof AccountsManagementFragment)
+                break;
+            Log.i(TAG, "BackStackEntries: " + getSupportFragmentManager().getBackStackEntryCount());
             fContent = new AccountsManagementFragment();
-            getSupportFragmentManager().beginTransaction().replace(R.id.main_frame, fContent).addToBackStack("AccountsTransac").commit();
+            getSupportFragmentManager().beginTransaction().replace(R.id.main_frame, fContent, "Home").addToBackStack("Home").commit();
             break;
         case 2:
+            if (fContent instanceof AboutFragment)
+                break;
             fContent = new AboutFragment();
-            getSupportFragmentManager().beginTransaction().replace(R.id.main_frame, fContent).addToBackStack("AboutTransac").commit();
+            getSupportFragmentManager().beginTransaction().replace(R.id.main_frame, fContent, "Home").addToBackStack("Home").commit();
             break;
         }