diff --git a/hgext/rebase.py b/hgext/rebase.py
index b6a6df38a80229ca8d8dad868bcb2d23c34fc5c8_aGdleHQvcmViYXNlLnB5..65d93d7127777c184f7af0c9aeb4530f93f14094_aGdleHQvcmViYXNlLnB5 100644
--- a/hgext/rebase.py
+++ b/hgext/rebase.py
@@ -1224,7 +1224,12 @@
         if commonbase == root:
             raise error.Abort(_('source is ancestor of destination'))
         if commonbase == dest:
-            samebranch = root.branch() == dest.branch()
+            wctx = repo[None]
+            if dest == wctx.p1():
+                # when rebasing to '.', it will use the current wd branch name
+                samebranch = root.branch() == wctx.branch()
+            else:
+                samebranch = root.branch() == dest.branch()
             if not collapse and samebranch and root in dest.children():
                 repo.ui.debug('source is a child of destination\n')
                 return None
diff --git a/tests/test-rebase-named-branches.t b/tests/test-rebase-named-branches.t
index b6a6df38a80229ca8d8dad868bcb2d23c34fc5c8_dGVzdHMvdGVzdC1yZWJhc2UtbmFtZWQtYnJhbmNoZXMudA==..65d93d7127777c184f7af0c9aeb4530f93f14094_dGVzdHMvdGVzdC1yZWJhc2UtbmFtZWQtYnJhbmNoZXMudA== 100644
--- a/tests/test-rebase-named-branches.t
+++ b/tests/test-rebase-named-branches.t
@@ -387,4 +387,23 @@
   o  0: '0'
   
 
+  $ hg up -cr 1
+  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  $ hg branch x
+  marked working directory as branch x
+  $ hg rebase -r 3:: -d .
+  rebasing 3:76abc1c6f8c7 "b1"
+  rebasing 4:8427af5d86f2 "c2 closed" (tip)
+  note: rebase of 4:8427af5d86f2 created no changes to commit
+  saved backup bundle to $TESTTMP/case2/.hg/strip-backup/76abc1c6f8c7-cd698d13-backup.hg (glob)
+  $ hg tglog
+  o  3: 'b1' x
+  |
+  | o  2: 'c1' c
+  | |
+  @ |  1: 'b2' b
+  |/
+  o  0: '0'
+  
+
   $ cd ..