diff --git a/gifi/feature.py b/gifi/feature.py
index <HASH>..<HASH> 100644
--- a/gifi/feature.py
+++ b/gifi/feature.py
@@ -117,16 +117,17 @@ def _get_pull_requests(repo):
 def _discard(repo=None):
     repo = get_repo(repo)
     config = configuration(repo)
-    current_branch = _current_feature_branch(repo)
+    _fetch(repo, config)
+    feature_branch = _current_feature_branch(repo)
     repo.git.checkout(config.target_branch)
     repo.git.rebase('%s/%s' % (config.target_remote, config.target_branch))
     try:
         repo.git.commit('--amend', '-C', 'HEAD')
-        repo.git.push(config.working_remote, ':%s' % current_branch)
+        repo.git.push(config.working_remote, ':%s' % feature_branch)
     except GitCommandError as e:
         logging.warn('Unable to drop remote feature branch: %s' % e)
         print 'WARNING: Unable to remove remote feature branch. Maybe it was not yet created?'
-    repo.git.branch('-D', current_branch)
+    repo.git.branch('-D', feature_branch)
 
 
 def configuration(repo=None):
Fetch repository before rebase'ing master after feature is discarded