diff --git a/lib/refrepo/firmwares.rb b/lib/refrepo/firmwares.rb
index c5e894640ec470898b585d443fcec731000a21b9..7f0f7805a4db0d4edb24555cd5319f8e3ad816bd 100644
--- a/lib/refrepo/firmwares.rb
+++ b/lib/refrepo/firmwares.rb
@@ -37,13 +37,14 @@ end
 
 def gen_firmwares_tables
   data = load_data_hierarchy
+
   # nodes table
-  d = []
+  nodes = []
   data['sites'].keys.each do |site|
     data['sites'][site]['clusters'].keys.each do |cluster|
-       nodes = data['sites'][site]['clusters'][cluster]['nodes'].values.map do |e|
+       nodes += data['sites'][site]['clusters'][cluster]['nodes'].values.map do |e|
          {
-           'uid' => e['uid'],
+           'address' => e['uid'],
            'chassis_manufacturer' => e['chassis']['manufacturer'],
            'chassis_name' => e['chassis']['name'],
            'bmc_version' => e['bmc_version'],
@@ -51,18 +52,13 @@ def gen_firmwares_tables
            'bios_version' => e['bios']['version']
          }
        end
-       nodesets = nodes.group_by { |e| e.except('uid') }.map do |e|
-         e[1] = e[1].map { |f| f['uid'] }
-         e[1] = `echo #{e[1].join(',')} | nodeset -f`.chomp
-         e
-       end
-       nodesets.each do |e|
-         h = { 'site' => site, 'cluster' => cluster, 'nodes' => e[1] }
-         h.merge!(e[0])
-         d << h
-       end
     end
   end
+  nodesets = nodes.group_by { |e| e.except('address') }.map do |e|
+    e[1] = e[1].map { |f| f['address'] }
+    nodes = `echo #{e[1].join(',')} | nodeset -f`.chomp
+    e[0].merge( { 'nodes' => nodes, 'nodes_count' => e[1].length } )
+  end
   
   # NICs table
   nics = []
@@ -144,9 +140,8 @@ def gen_firmwares_tables
    <table id="table0" class="table table-bordered table-hover table-condensed text-center table-reducedrowheight">
      <thead>
        <tr>
-         <th class="text-center">Site</th>
-         <th class="text-center">Cluster</th>
          <th class="text-center">Nodes</th>
+         <th class="text-center">Nodes count</th>
          <th class="text-center">Manufacturer</th>
          <th class="text-center">Model</th>
          <th class="text-center">BMC</th>
@@ -163,17 +158,15 @@ def gen_firmwares_tables
        <td><input type="text" placeholder="" size="2" style="width:100%;" /></td>
        <td><input type="text" placeholder="" size="2" style="width:100%;" /></td>
        <td><input type="text" placeholder="" size="2" style="width:100%;" /></td>
-       <td><input type="text" placeholder="" size="2" style="width:100%;" /></td>
      </tr>
      </tfoot>
      <tbody>
      EOF
-     d.each do |r|
+     nodesets.each do |r|
        puts <<-EOF
 <tr>
-<td class="text-nowrap">#{r['site']}</td>
-<td class="text-nowrap">#{r['cluster']}</td>
 <td class="text-nowrap">#{r['nodes']}</td>
+<td class="text-nowrap">#{r['nodes_count']}</td>
 <td class="text-nowrap">#{r['chassis_manufacturer']}</td>
 <td class="text-nowrap">#{r['chassis_name']}</td>
 <td class="text-nowrap">#{r['bmc_version']}</td>