Index: uspace/lib/cpp/include/impl/unordered_map.hpp
===================================================================
--- uspace/lib/cpp/include/impl/unordered_map.hpp	(revision 3be3752c9d599f6842c0e5795c90590043f449d0)
+++ uspace/lib/cpp/include/impl/unordered_map.hpp	(revision ed9df7db8c0a247865da615722cabf12e7934373)
@@ -272,4 +272,5 @@
                 auto node = new node_type{move(val)};
                 bucket->append(node);
+                table_.increment_size();
 
                 return make_pair(iterator{
@@ -316,4 +317,5 @@
                 auto node = new node_type{val};
                 bucket->append(node);
+                table_.increment_size();
 
                 return make_pair(iterator{
@@ -354,4 +356,6 @@
                 auto node = new node_type{forward<value_type>(val)};
                 bucket->append(node);
+                table_.increment_size();
+                // TODO: problem: rehashing here would invalidate the intel we have...
 
                 return make_pair(iterator{
@@ -543,4 +547,6 @@
                 bucket->append(node);
 
+                table_.increment_size();
+                table_.rehash_if_needed();
                 return node->value.second;
             }
@@ -569,4 +575,6 @@
                 bucket->append(node);
 
+                table_.increment_size();
+                table_.rehash_if_needed();
                 return node->value.second;
             }
