On one of Beamer slides for my dissertation defense I construct a TikZ diagram, representing my research software's workflow. It works fine with one exception: there is a "defect" on the east side of the "ready4EDA" block (extra arrow end tip + wrong arrow start tip). It seems strange to me and, based on the similarity of code for other block definitions, I even suspect that it might be a software defect (not very likely) or conflict between LaTeX or TikZ packages. I would appreciate comments and, preferably, solutions on getting rid of that "defect". The MWE follows.

Notes: 1) I would like to stay with this (standard TikZ) implementation; 2) I use smartdiagram package for some other diagrams in my presentation.
\documentclass[12pt]{beamer}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{graphicx}
\usepackage{booktabs}
\usepackage{tikz}
\usetikzlibrary{mindmap, trees, shadows, shapes, backgrounds, calc, fadings, positioning, decorations.pathreplacing, intersections, fit}
\usepackage{smartdiagram}
\usepackage{palatino}
\usetheme{Boadilla}
\usecolortheme{orchid}
\useinnertheme{rectangles}
\beamertemplateshadingbackground{gray!5}{gray!20}
\setbeamertemplate{navigation symbols}{}
\newcommand{\DISSflossWorkflow}{
\begin{tikzpicture}[node distance=8cm, auto, >=stealth]
\tikzstyle{block}= [rectangle, ultra thick, rounded corners, draw=blue, fill=blue!20, minimum height=1.25cm, minimum width=32mm, align=center, inner sep=0.5em]
\tikzstyle{arrow}= [ultra thick, ->, >=stealth]
\node[block] (dataHeader) {\color{red}\textbf{Data}};
\node[block] (softHeader) [right of = dataHeader, node distance = 4cm] {\color{red}\textbf{Software}};
%\draw[->] (a) -- (b);
\node[block] (artiHeader) [right of = softHeader, node distance = 4cm] {\color{red}\textbf{Artifacts}};
%\draw[->] (b) -- (c);
% \draw[-] (\xcoord[west]{dataHeader}, \ycoord[south]{dataHeader} - 1) -- (\xcoord[east]{artiHeader}, \ycoord[south]{dataHeader} - 1);
\node[block] (dataSources) [below of = dataHeader, node distance = 1.5cm]{Data Sources};
\node[block] (softImport) [right of = dataSources, node distance = 4cm] {import};
\draw[arrow] (dataSources) -- (softImport);
\node[block] (dataCache) [below of = dataSources, node distance = 1.5cm] {cache};
\draw[arrow] (softImport) -- (dataCache);
\node[block] (softPrepare) [right of = dataCache, node distance = 4cm] {prepare};
\draw[arrow] (dataCache) -- (softPrepare);
\node[block] (dataTransform) [below of = dataCache, node distance = 1.5cm] {transform};
\draw[arrow] (softPrepare) -- (dataTransform);
\node[block] (dataReady4EDA) [below of = dataCache, node distance = 1.5cm] {ready4EDA};
\draw[arrow] (dataTransform) -- (dataReady4EDA);
\node[block] (softEDA) [right of = dataReady4EDA, node distance = 4cm] {EDA};
\draw[arrow] (dataReady4EDA) -- (softEDA);
\node[block] (artiEDA) [right of = softEDA, node distance = 4cm] {EDA Report};
\draw[arrow] (softEDA) -- (artiEDA);
\node[block] (dataReady4EFA) [below of = dataReady4EDA, node distance = 1.5cm] {ready4EFA};
\draw[arrow] (softEDA) -- (dataReady4EFA);
\node[block] (softEFA) [right of = dataReady4EFA, node distance = 4cm] {EFA};
\draw[arrow] (dataReady4EFA) -- (softEFA);
\node[block] (artiEFA) [right of = softEFA, node distance = 4cm] {EFA Report};
\draw[arrow] (softEFA) -- (artiEFA);
\node[block] (dataReady4CFA) [below of = dataReady4EFA, node distance = 1.5cm] {ready4CFA};
\draw[arrow] (softEFA) -- (dataReady4CFA);
\node[block] (softCFA) [right of = dataReady4CFA, node distance = 4cm] {CFA};
\draw[arrow] (dataReady4CFA) -- (softCFA);
\node[block] (artiCFA) [right of = softCFA, node distance = 4cm] {CFA Report};
\draw[arrow] (softCFA) -- (artiCFA);
\node[block] (dataReady4SEM) [below of = dataReady4CFA, node distance = 1.5cm] {ready4SEM};
\draw[arrow] (softCFA) -- (dataReady4SEM);
\node[block] (softSEM) [right of = dataReady4SEM, node distance = 4cm] {SEM};
\draw[arrow] (dataReady4SEM) -- (softSEM);
\node[block] (artiSEM) [right of = softSEM, node distance = 4cm] {SEM Report};
\draw[arrow] (softSEM) -- (artiSEM);
\end{tikzpicture}
}
\begin{document}
\begin{frame}{Research Software: Workflow}
\centering
\scalebox{0.7}{\DISSflossWorkflow}
\end{frame}
\end{document}
dataReady4EDAanddataTransformare both positioned identically (below of=dataCache) so when you try\draw[arrow] (dataTransform) -- (dataReady4EDA);you get this spurious arrow going nowhere. – Paul Gessler Mar 29 '15 at 21:15dataTransformblock definition, but later decided against it (probably due to size constraints and the fact that data transformation is part ofprepareanyway). I've already updated corresponding code and it fixed the issue. If you'll convert you comment into an answer, I will be happy to upvote and accept it. – Aleksandr Blekh Mar 29 '15 at 21:30