             (message "rdebugtrack: line %s, file %s" target_lineno target_fname)
             (rdebug-rdebugtrack-overlay-arrow t)
             (pop-to-buffer origbuf t)
-
-            )))))
-  )
+            )
+
+	  ; Delete processed annotations from buffer.
+	  (save-excursion
+	    (let ((annotate-start)
+		  (annotate-end (point-max)))
+	      (goto-char block-start)
+	      (while (re-search-forward
+		      rdebug-annotation-start-regexp annotate-end t)
+		(setq annotate-start (match-beginning 0))
+		(if (re-search-forward 
+		     rdebug-annotation-end-regexp annotate-end t)
+		    (delete-region annotate-start (point))
+		;else
+		  (forward-line)))
+	      )))
+	)))
+    )
 
 (defun rdebug-rdebugtrack-get-source-buffer (block-str)
   "Return line number and buffer of code indicated by block-str's traceback 

		   (+ fn-start (match-beginning 1)) (+ fn-start (match-end 1))
		   (list 'face font-lock-function-name-face
			 'font-lock-face font-lock-function-name-face))))))
	;; remove initial ###  or -->
	(beginning-of-line)
	(delete-char 3)
        (forward-line)

    (gud-def gud-next   "next %p"     "\C-n"
	     "Step one line (skip functions).")
    (gud-def gud-print  "p %e"        "\C-p"
	     "Evaluate Ruby expression at point.")
    (gud-def gud-remove "clear %d%f:%l" "\C-d"
	     "Remove breakpoint at current line")
    (gud-def gud-run    "run"       "R"
