diff --git a/pcbnew/exporters/step/exporter_step.cpp b/pcbnew/exporters/step/exporter_step.cpp
index 4d12ff21e1..6b5272f8c2 100644
--- a/pcbnew/exporters/step/exporter_step.cpp
+++ b/pcbnew/exporters/step/exporter_step.cpp
@@ -298,7 +298,11 @@ void EXPORTER_STEP::determinePcbThickness()
             switch( item->GetType() )
             {
             case BS_ITEM_TYPE_DIELECTRIC:
-                thickness += item->GetThickness();
+                // Dielectric can have sub-layers. Layer 0 is the main layer
+                // Not frequent, but possible
+                for( int idx = 0; idx < item->GetSublayersCount(); idx++ )
+                    thickness += item->GetThickness( idx );
+
                 break;
 
             case BS_ITEM_TYPE_COPPER:
@@ -325,6 +329,9 @@ bool EXPORTER_STEP::Export()
 
     ReportMessage( _( "Determining PCB data\n" ) );
     determinePcbThickness();
+    wxString msg;
+    msg.Printf( _( "Board Thickness from stackup: %.3f mm\n" ), m_boardThickness );
+    ReportMessage( msg );
 
     try
     {
@@ -362,8 +369,6 @@ bool EXPORTER_STEP::Export()
 
     if( m_fail || m_error )
     {
-        wxString msg;
-
         if( m_fail )
         {
             msg = _( "Unable to create STEP file.\n"