             (setq start (string-to-number (match-string-no-properties 2 regexp)))))
       (progn
         (setq prefix regexp)))
-    (setq to-strings (modi/get-incr-number-string prefix start))
-    (backward-word 1)
+    ;; http://www.gnu.org/software/emacs/manual/html_node/elisp/Mapping-Functions.html
+    (setq to-strings (mapconcat (lambda (x) (concat prefix (number-to-string x)))
+                                (number-sequence start
+                                                 modi/replace-with-incr-num-suffix-max
+                                                 modi/replace-with-incr-num-suffix-incr)
+                                " "))
+    ;; Go to the start of the current word
+    (when (not (looking-back "\\b"))
+      (re-search-backward "\\b" nil :noerror))
     (map-query-replace-regexp regexp to-strings)))
 
 ;; Unicode

If START is nil and if the selected region or symbol does NOT end in a number,
the replacements will use 1 as the START number.

`modi/get-incr-number-string-default-end' variable controls the maximum number
till which the suffix number increments. After the max number is reached, the
suffixes will restart from START (behavior of `map-query-replace-regexp').

`modi/get-incr-number-string-default-incr' variable controls the increments
between the number suffixes in consecutive replacements.

Example:

   Here3 Here4 Here5 Here6 Here7
"
  (interactive "p")
  (let ((regexp (cond ((use-region-p)
                       (buffer-substring-no-properties (region-beginning)
                                                       (region-end)))
                      ((symbol-at-point)
                       (substring-no-properties
                        (symbol-name (symbol-at-point))))))
