diff --git a/Common/Math/vtkFFT.txx b/Common/Math/vtkFFT.txx
index 5c1fca7204f18dd9b312bf5a524b2f03163db769..3b34e67698f8bb00a90e128d082be82432acbefb 100644
--- a/Common/Math/vtkFFT.txx
+++ b/Common/Math/vtkFFT.txx
@@ -324,7 +324,7 @@ vtkSmartPointer<vtkFFT::vtkScalarNumberArray> vtkFFT::Csd(vtkScalarNumberArray*
   vtkSMPTools::Fill(averageRange.begin(), averageRange.end(), 0.0);
 
   auto resRange = vtk::DataArrayTupleRange(result);
-  using ConstTupleRef = decltype(resRange)::ConstTupleReferenceType;
+  using ConstTupleRef = typename decltype(resRange)::ConstTupleReferenceType;
   for (unsigned int i = 0; i < shape[0]; ++i)
   {
     auto begin = resRange.cbegin() + i * shape[1];