diff --git a/pcbnew/netlist_reader/board_netlist_updater.cpp b/pcbnew/netlist_reader/board_netlist_updater.cpp
index 18d27b356a..a52fcc9246 100644
--- a/pcbnew/netlist_reader/board_netlist_updater.cpp
+++ b/pcbnew/netlist_reader/board_netlist_updater.cpp
@@ -320,8 +320,16 @@ bool BOARD_NETLIST_UPDATER::updateFootprintParameters( FOOTPRINT* aPcbFootprint,
     if( ( m_replaceFootprints || ( aPcbFootprint->GetAttributes() & FP_JUST_ADDED ) )
         && !m_isDryRun )
     {
-        aPcbFootprint->Footprint().SetText(
+        // Update FOOTPRINT_FIELD (if exists in the netlist)
+        try
+        {
+            aPcbFootprint->Footprint().SetText(
                 aNetlistComponent->GetFields()[GetCanonicalFieldName( FOOTPRINT_FIELD )] );
+        }
+        catch( ... )
+        {
+            // If not exist (old netlist), just skip it: What else?
+        }
     }
 
     // Test for time stamp change.