I can't reproduce this with a minimal example, but it happens in my project. What I tried to do for reproducing is: rm -rf super sub mkdir sub; cd sub; git init git commit --allow-empty -m 'Initial commit' mkdir ../super; cd ../super git init git submodule add ../sub touch foo; git add foo sub git commit -m 'Initial commit' touch a; git add a; git commit -m 'a' touch b; git add b; git commit -m 'b' cd sub; git commit --allow-empty -m 'New commit'; cd .. git rebase -i HEAD^^ Then drop a. In my project I get: error: cannot rebase: You have unstaged changes. This works fine with 2.14.3. - Orgad