  This article is about a decoding algorithm for error-correcting subspace
codes. A version of this algorithm was previously described by Rosenthal,
Silberstein and Trautmann. The decoding algorithm requires the code to be
defined as the intersection of the Pl\"ucker embedding of the Grassmannian and
an algebraic variety. We call such codes \emph{geometric subspace codes}.
Complexity is substantially improved compared to the algorithm by Rosenthal,
Silberstein and Trautmann and connections to finite geometry are given. The
decoding algorithm is applied to Desarguesian spread codes, which are known to
be defined as the intersection of the Pl\"ucker embedding of the Grassmannian
with a linear space.
