diff --git a/common/template_fieldnames.cpp b/common/template_fieldnames.cpp
index c639f16fb6..117bc9aaf2 100644
--- a/common/template_fieldnames.cpp
+++ b/common/template_fieldnames.cpp
@@ -161,7 +161,7 @@ void TEMPLATES::Format( OUTPUTFORMATTER* out, bool aGlobal ) const
     // use at this time will not want the newlines or the indentation.
     out->Print( "(templatefields" );
 
-    const TEMPLATE_FIELDNAMES& source = aGlobal ? m_globals : m_project;
+    const std::vector<TEMPLATE_FIELDNAME>& source = aGlobal ? m_globals : m_project;
 
     for( const TEMPLATE_FIELDNAME& temp : source )
     {
@@ -254,7 +254,7 @@ void TEMPLATES::AddTemplateFieldName( const TEMPLATE_FIELDNAME& aFieldName, bool
             return;
     }
 
-    TEMPLATE_FIELDNAMES& target = aGlobal ? m_globals : m_project;
+    std::vector<TEMPLATE_FIELDNAME>& target = aGlobal ? m_globals : m_project;
 
     // ensure uniqueness, overwrite any template fieldname by the same name.
     for( TEMPLATE_FIELDNAME& temp : target )
@@ -305,7 +305,7 @@ void TEMPLATES::DeleteAllFieldNameTemplates( bool aGlobal )
 }
 
 
-const TEMPLATE_FIELDNAMES& TEMPLATES::GetTemplateFieldNames()
+const std::vector<TEMPLATE_FIELDNAME>& TEMPLATES::GetTemplateFieldNames()
 {
     if( m_resolvedDirty )
         resolveTemplates();
@@ -314,7 +314,7 @@ const TEMPLATE_FIELDNAMES& TEMPLATES::GetTemplateFieldNames()
 }
 
 
-const TEMPLATE_FIELDNAMES& TEMPLATES::GetTemplateFieldNames( bool aGlobal )
+const std::vector<TEMPLATE_FIELDNAME>& TEMPLATES::GetTemplateFieldNames( bool aGlobal )
 {
     if( aGlobal )
         return m_globals;
diff --git a/eeschema/dialogs/panel_template_fieldnames.h b/eeschema/dialogs/panel_template_fieldnames.h
index 881da3fa52..4dcec62735 100644
--- a/eeschema/dialogs/panel_template_fieldnames.h
+++ b/eeschema/dialogs/panel_template_fieldnames.h
@@ -67,12 +67,12 @@ private:
     bool TransferDataFromGrid();
 
 protected:
-    TEMPLATES*          m_templateMgr;
-    TEMPLATE_FIELDNAMES m_fields;
-    bool                m_global;        // Editing global (vs. project) fieldname templates
+    TEMPLATES*                      m_templateMgr;
+    std::vector<TEMPLATE_FIELDNAME> m_fields;
+    bool                            m_global;        // Editing global (vs. project) fieldname templates
 
-    int                 m_checkboxColWidth;
-    TEMPLATES           m_templateMgrInstance;
+    int                             m_checkboxColWidth;
+    TEMPLATES                       m_templateMgrInstance;
 };
 
 
diff --git a/include/template_fieldnames.h b/include/template_fieldnames.h
index 8686df5722..2b0234b6c8 100644
--- a/include/template_fieldnames.h
+++ b/include/template_fieldnames.h
@@ -139,8 +139,6 @@ struct TEMPLATE_FIELDNAME
     bool        m_URL;          // If field should have a browse button
 };
 
-typedef std::vector< TEMPLATE_FIELDNAME > TEMPLATE_FIELDNAMES;
-
 
 class TEMPLATES
 {
@@ -179,12 +177,12 @@ public:
     /**
      * Return a template field name list for read only access.
      */
-    const TEMPLATE_FIELDNAMES& GetTemplateFieldNames();
+    const std::vector<TEMPLATE_FIELDNAME>& GetTemplateFieldNames();
 
     /**
      * Return a specific list (global or project) for read only access.
      */
-    const TEMPLATE_FIELDNAMES& GetTemplateFieldNames( bool aGlobal );
+    const std::vector<TEMPLATE_FIELDNAME>& GetTemplateFieldNames( bool aGlobal );
 
     /**
      * Search for \a aName in the template field name list.
@@ -200,10 +198,10 @@ protected:
     void parse( TEMPLATE_FIELDNAMES_LEXER* in, bool aGlobal );
 
 private:
-    TEMPLATE_FIELDNAMES     m_globals;
-    TEMPLATE_FIELDNAMES     m_project;
+    std::vector<TEMPLATE_FIELDNAME> m_globals;
+    std::vector<TEMPLATE_FIELDNAME> m_project;
 
     // Combined list.  Project templates override global ones.
-    TEMPLATE_FIELDNAMES     m_resolved;
-    bool                    m_resolvedDirty;
+    std::vector<TEMPLATE_FIELDNAME> m_resolved;
+    bool                            m_resolvedDirty;
 };