diff --git a/pallets/universal-dividend/src/lib.rs b/pallets/universal-dividend/src/lib.rs
index 537191b89391663948f235224d5f3a4c7a2bb82a..f277c17460313171f8c54d16828a149fb56d3bcc 100644
--- a/pallets/universal-dividend/src/lib.rs
+++ b/pallets/universal-dividend/src/lib.rs
@@ -314,7 +314,15 @@ pub mod pallet {
                 ),
             );
 
-            <CurrentUd<T>>::put(new_ud_amount);
+            CurrentUd::<T>::put(new_ud_amount);
+            PastReevals::<T>::mutate(|past_reevals| {
+                if past_reevals.len() == T::MaxPastReeval::get() as usize {
+                    past_reevals.remove(0);
+                }
+                past_reevals
+                    .try_push((CurrentUdIndex::<T>::get(), new_ud_amount))
+                    .expect("Unreachable, because we removed an element just before.")
+            });
 
             Self::deposit_event(Event::UdReevalued {
                 new_ud_amount,