diff --git a/lib/qcd/QCD.h b/lib/qcd/QCD.h
index 9321e575..f434bdd9 100644
--- a/lib/qcd/QCD.h
+++ b/lib/qcd/QCD.h
@@ -51,14 +51,6 @@ namespace QCD {
     static const int Nhs=2; // half spinor
     static const int Nds=8; // double stored gauge field
     static const int Ngp=2; // gparity index range
-    
-    // if no adj funtion in QCD:: redirect to Grid::
-    // this avoids QCD:: adj functions to screen the Grid:: ones
-    template <typename T>
-    inline auto adj(T x)->decltype(Grid::adj(x))
-    {
-        return Grid::adj(x);
-    }
 
     //////////////////////////////////////////////////////////////////////////////
     // QCD iMatrix types
diff --git a/lib/qcd/spin/Dirac.h b/lib/qcd/spin/Dirac.h
index 779866da..6053f935 100644
--- a/lib/qcd/spin/Dirac.h
+++ b/lib/qcd/spin/Dirac.h
@@ -33,7 +33,6 @@ See the full license in the file "LICENSE" in the top level distribution directo
 #define GRID_QCD_DIRAC_H
 
 // code generated by the Mathematica notebook gamma-gen/gamma-gen.nb
-
 #include <array>
 
 namespace Grid {
@@ -88,11 +87,6 @@ inline Gamma operator*(const Gamma &g1, const Gamma &g2)
   return Gamma(Gamma::mul[g1.g][g2.g]);
 }
 
-inline Gamma adj(const Gamma &g)
-{
-  return Gamma(Gamma::adj[g.g]);
-}
-
 template<class vtype>
 inline void multMinusGamma5(iVector<vtype, Ns> &ret, const iVector<vtype, Ns> &rhs)
 {
@@ -1446,6 +1440,13 @@ inline auto operator*(const iMatrix<vtype, Ns> &arg, const Gamma &G)
   return ret;
 }
 
-}}
+}
+
+inline QCD::Gamma adj(const QCD::Gamma &g)
+{
+  return QCD::Gamma(QCD::Gamma::adj[g.g]);
+}
+
+}
 
 #endif