diff --git a/git-flow-init b/git-flow-init
index 9dce1df..45c7171 100644
--- a/git-flow-init
+++ b/git-flow-init
@@ -184,39 +184,53 @@
 	local prefix
 
 	# Feature branches
-	default_suggestion=$(git config --get gitflow.prefix.feature || echo feature/)
-	echo "Feature branches? [$default_suggestion] \c"
-	read answer
-	[ "$answer" = "-" ] && prefix= || prefix=${answer:-$default_suggestion}
-	git config gitflow.prefix.feature "$prefix"
+	if ! git config --get gitflow.prefix.feature >/dev/null 2>&1 || flag force; then
+		default_suggestion=$(git config --get gitflow.prefix.feature || echo feature/)
+		echo "Feature branches? [$default_suggestion] \c"
+		read answer
+		[ "$answer" = "-" ] && prefix= || prefix=${answer:-$default_suggestion}
+		git config gitflow.prefix.feature "$prefix"
+	fi
 
 	# Release branches
-	default_suggestion=$(git config --get gitflow.prefix.release || echo release/)
-	echo "Release branches? [$default_suggestion] \c"
-	read answer
-	[ "$answer" = "-" ] && prefix= || prefix=${answer:-$default_suggestion}
-	git config gitflow.prefix.release "$prefix"
+	if ! git config --get gitflow.prefix.release >/dev/null 2>&1 || flag force; then
+		default_suggestion=$(git config --get gitflow.prefix.release || echo release/)
+		echo "Release branches? [$default_suggestion] \c"
+		read answer
+		[ "$answer" = "-" ] && prefix= || prefix=${answer:-$default_suggestion}
+		git config gitflow.prefix.release "$prefix"
+	fi
+
 
 	# Hotfix branches
-	default_suggestion=$(git config --get gitflow.prefix.hotfix || echo hotfix/)
-	echo "Hotfix branches? [$default_suggestion] \c"
-	read answer
-	[ "$answer" = "-" ] && prefix= || prefix=${answer:-$default_suggestion}
-	git config gitflow.prefix.hotfix "$prefix"
+	if ! git config --get gitflow.prefix.hotfix >/dev/null 2>&1 || flag force; then
+		default_suggestion=$(git config --get gitflow.prefix.hotfix || echo hotfix/)
+		echo "Hotfix branches? [$default_suggestion] \c"
+		read answer
+		[ "$answer" = "-" ] && prefix= || prefix=${answer:-$default_suggestion}
+		git config gitflow.prefix.hotfix "$prefix"
+	fi
+
 
 	# Support branches
-	default_suggestion=$(git config --get gitflow.prefix.support || echo support/)
-	echo "Support branches? [$default_suggestion] \c"
-	read answer
-	[ "$answer" = "-" ] && prefix= || prefix=${answer:-$default_suggestion}
-	git config gitflow.prefix.support "$prefix"
+	if ! git config --get gitflow.prefix.support >/dev/null 2>&1 || flag force; then
+		default_suggestion=$(git config --get gitflow.prefix.support || echo support/)
+		echo "Support branches? [$default_suggestion] \c"
+		read answer
+		[ "$answer" = "-" ] && prefix= || prefix=${answer:-$default_suggestion}
+		git config gitflow.prefix.support "$prefix"
+	fi
+
 
 	# Version tag prefix
-	default_suggestion=$(git config --get gitflow.prefix.versiontag || echo "")
-	echo "Version tag prefix? [$default_suggestion] \c"
-	read answer
-	[ "$answer" = "-" ] && prefix= || prefix=${answer:-$default_suggestion}
-	git config gitflow.prefix.versiontag "$prefix"
+	if ! git config --get gitflow.prefix.versiontag >/dev/null 2>&1 || flag force; then
+		default_suggestion=$(git config --get gitflow.prefix.versiontag || echo "")
+		echo "Version tag prefix? [$default_suggestion] \c"
+		read answer
+		[ "$answer" = "-" ] && prefix= || prefix=${answer:-$default_suggestion}
+		git config gitflow.prefix.versiontag "$prefix"
+	fi
+
 
 	# TODO: what to do with origin?
 }
diff --git a/gitflow-common b/gitflow-common
index 8aaa357..6e5056e 100644
--- a/gitflow-common
+++ b/gitflow-common
@@ -49,12 +49,20 @@
 	[ "$develop" != "" ] && gitflow_local_branch_exists "$develop"
 }
 
+gitflow_has_prefixes_configured() {
+	git config --get gitflow.prefix.feature >/dev/null 2>&1     && \
+	git config --get gitflow.prefix.release >/dev/null 2>&1     && \
+	git config --get gitflow.prefix.hotfix >/dev/null 2>&1      && \
+	git config --get gitflow.prefix.support >/dev/null 2>&1     && \
+	git config --get gitflow.prefix.versiontag >/dev/null 2>&1
+}
+
 gitflow_is_initialized() {
-	gitflow_has_master_configured && \
-	gitflow_has_develop_configured && \
-	# they should be different
-	[ "$(git config --get gitflow.branch.master)" != \
-	  "$(git config --get gitflow.branch.develop)" ]
+	gitflow_has_master_configured                    && \
+	gitflow_has_develop_configured                   && \
+	[ "$(git config --get gitflow.branch.master)" !=    \
+	  "$(git config --get gitflow.branch.develop)" ] && \
+	gitflow_has_prefixes_configured
 }
 
 # get all available branches
