diff --git a/src/it/feature-finish-3-it/expected-pom.xml b/src/it/feature-finish-3-it/expected-pom.xml
new file mode 100644
index 00000000..b39a586f
--- /dev/null
+++ b/src/it/feature-finish-3-it/expected-pom.xml
@@ -0,0 +1,7 @@
+
+ 4.0.0
+ com.amashchenko.maven.plugin
+ gitflow-maven-test
+ pom
+ 0.0.4-SNAPSHOT
+
diff --git a/src/it/feature-finish-3-it/gitignorefile b/src/it/feature-finish-3-it/gitignorefile
new file mode 100644
index 00000000..c8d59a83
--- /dev/null
+++ b/src/it/feature-finish-3-it/gitignorefile
@@ -0,0 +1,5 @@
+build.log
+expected-pom.xml
+invoker.properties
+init.bsh
+verify.bsh
diff --git a/src/it/feature-finish-3-it/init.bsh b/src/it/feature-finish-3-it/init.bsh
new file mode 100644
index 00000000..6cc2b450
--- /dev/null
+++ b/src/it/feature-finish-3-it/init.bsh
@@ -0,0 +1,28 @@
+try {
+ new File(basedir, "gitignorefile").renameTo(new File(basedir, ".gitignore"));
+
+ Process p = Runtime.getRuntime().exec("git --git-dir=" + basedir + "/.git --work-tree=" + basedir + " init");
+ p.waitFor();
+
+ Process p = Runtime.getRuntime().exec("git --git-dir=" + basedir + "/.git --work-tree=" + basedir + " config user.email 'a@a.aa'");
+ p.waitFor();
+ Process p = Runtime.getRuntime().exec("git --git-dir=" + basedir + "/.git --work-tree=" + basedir + " config user.name 'a'");
+ p.waitFor();
+
+ p = Runtime.getRuntime().exec("git --git-dir=" + basedir + "/.git --work-tree=" + basedir + " add .");
+ p.waitFor();
+
+ p = Runtime.getRuntime().exec("git --git-dir=" + basedir + "/.git --work-tree=" + basedir + " commit -m init");
+ p.waitFor();
+
+ p = Runtime.getRuntime().exec("git --git-dir=" + basedir + "/.git --work-tree=" + basedir + " branch feature/ISSUE-288");
+ p.waitFor();
+
+ p = Runtime.getRuntime().exec("git --git-dir=" + basedir + "/.git --work-tree=" + basedir + " checkout -b develop");
+ p.waitFor();
+
+} catch (Exception e) {
+ e.printStackTrace();
+ return false;
+}
+return true;
diff --git a/src/it/feature-finish-3-it/invoker.properties b/src/it/feature-finish-3-it/invoker.properties
new file mode 100644
index 00000000..6c85a73f
--- /dev/null
+++ b/src/it/feature-finish-3-it/invoker.properties
@@ -0,0 +1,3 @@
+invoker.goals=${project.groupId}:${project.artifactId}:${project.version}:feature-finish -DpushRemote=false -B -DfeatureName=ISSUE-288 -DincrementVersionAtFinish
+
+invoker.description=Non-interactive feature-finish with incrementVersionAtFinish parameter.
diff --git a/src/it/feature-finish-3-it/pom.xml b/src/it/feature-finish-3-it/pom.xml
new file mode 100644
index 00000000..e0613c3c
--- /dev/null
+++ b/src/it/feature-finish-3-it/pom.xml
@@ -0,0 +1,7 @@
+
+ 4.0.0
+ com.amashchenko.maven.plugin
+ gitflow-maven-test
+ pom
+ 0.0.3-ISSUE-288-SNAPSHOT
+
diff --git a/src/it/feature-finish-3-it/verify.bsh b/src/it/feature-finish-3-it/verify.bsh
new file mode 100644
index 00000000..c1495067
--- /dev/null
+++ b/src/it/feature-finish-3-it/verify.bsh
@@ -0,0 +1,27 @@
+import org.codehaus.plexus.util.FileUtils;
+
+try {
+ File gitRef = new File(basedir, ".git/refs/heads/feature/ISSUE-288");
+ if (gitRef.exists()) {
+ System.out.println("feature-finish .git/refs/heads/feature/ISSUE-288 exists");
+ return false;
+ }
+
+ File file = new File(basedir, "pom.xml");
+ File expectedFile = new File(basedir, "expected-pom.xml");
+
+ String actual = FileUtils.fileRead(file, "UTF-8");
+ String expected = FileUtils.fileRead(expectedFile, "UTF-8");
+
+ actual = actual.replaceAll("\\r?\\n", "");
+ expected = expected.replaceAll("\\r?\\n", "");
+
+ if (!expected.equals(actual)) {
+ System.out.println("feature-finish expected: " + expected + " actual was:" + actual);
+ return false;
+ }
+} catch (Exception e) {
+ e.printStackTrace();
+ return false;
+}
+return true;
diff --git a/src/main/java/com/amashchenko/maven/plugin/gitflow/GitFlowFeatureFinishMojo.java b/src/main/java/com/amashchenko/maven/plugin/gitflow/GitFlowFeatureFinishMojo.java
index 5598766a..cf3ea19f 100644
--- a/src/main/java/com/amashchenko/maven/plugin/gitflow/GitFlowFeatureFinishMojo.java
+++ b/src/main/java/com/amashchenko/maven/plugin/gitflow/GitFlowFeatureFinishMojo.java
@@ -164,8 +164,12 @@ public void execute() throws MojoExecutionException, MojoFailureException {
final String featName = featureBranchName.replaceFirst(gitFlowConfig.getFeatureBranchPrefix(), "");
if (incrementVersionAtFinish) {
- GitFlowVersionInfo developVersionInfo = new GitFlowVersionInfo(featureVersion);
- featureVersion = developVersionInfo.nextSnapshotVersion();
+ // prevent incrementing feature name which can hold numbers
+ String ver = featureVersion.replaceFirst("-" + featName, "");
+ GitFlowVersionInfo nextVersionInfo = new GitFlowVersionInfo(ver);
+ ver = nextVersionInfo.nextSnapshotVersion();
+ GitFlowVersionInfo featureVersionInfo = new GitFlowVersionInfo(ver);
+ featureVersion = featureVersionInfo.featureVersion(featName);
mvnSetVersions(featureVersion);