[Tex/LaTex] Connect Tikz Nodes running around nodes

tikz-pgf

I want to connect two tikz nodes with a line which should not overlap the other nodes. It additionally should branch below the node and run into the top again. I also want to label the edge/line.

I wrote this code:

\documentclass{minimal}
\usepackage{tikz}
\usetikzlibrary{calc,trees,positioning,arrows,chains,shapes.geometric,%
    decorations.pathreplacing,decorations.pathmorphing,shapes,%
    matrix,shapes.symbols}

\begin{document}
\tikzset{
>=stealth',
  punktchain/.style={
    rectangle, 
    rounded corners, 
    draw=black, very thick,
    text width=14em, 
    minimum height=3em, 
    text centered, 
    on chain},
  line/.style={draw, thick, <-},
  every join/.style={->, thick,shorten >=1pt},
}
\begin{tikzpicture}
  [node distance=.6cm,
  start chain=going below,]
     \node[punktchain, join] (intro) {Introduction};
     \node[punktchain, join] (initRun)      {InitialRun};
     \node[punktchain, join] (nthRun)      {nTh Run};
     \node[punktchain, join] (conc) {Conclusion};
  \path[line] (nthRun.north east) -- ++(1,0) |- node{Iteration} (nthRun.south east);
\end{tikzpicture}
\end{document}

This leads into the following result (left), what I want is on the right (red color not intended, just for clarification)

Current status
Should status

How can this be done using tikz?

Best Answer

\begin{tikzpicture}
  [node distance=.6cm,
  start chain=going below,]
     \node[punktchain, join] (intro) {Introduction};
     \node[punktchain, join] (initRun)      {InitialRun};
     \node[punktchain, join] (nthRun)      {nTh Run};
     \node[punktchain, join] (conc) {Conclusion};
  \path (nthRun) -- (conc) coordinate[pos=.5] (dep) ;
  \path (nthRun.north) -- (nthRun.north east) coordinate[pos=.25] (stop) ;
  \draw [red,thick,->] (dep) -| ([xshift=1cm] nthRun.east) node[right]{Iteration} |- ([yshift=10pt]stop) -- (stop);
\end{tikzpicture}

enter image description here