diff --git a/unittest/python/test_boost_variant.py b/unittest/python/test_boost_variant.py
index 0e1d283a05701166f7af5dbc34b117b21fb6315f..023b940bdc91150e97f80d9d96f142cca73fff54 100644
--- a/unittest/python/test_boost_variant.py
+++ b/unittest/python/test_boost_variant.py
@@ -11,16 +11,26 @@ v2.v = "c"
 
 variant_holder = VariantHolder()
 
+# Test copy from variant alternative V1 to non initialized variant
 variant_holder.variant = v1
 assert isinstance(variant_holder.variant, V1)
-assert variant_holder.variant == v1.v
-variant_holder.variant = 100
-assert variant_holder.variant == 100
-assert v1 == 100
-v1 = 1000
-assert variant_holder.variant == 1000
-assert v1 == 1000
+assert variant_holder.variant.v == v1.v
 
+# variant_holder.variant is a copy of v1
+variant_holder.variant.v = 11
+assert v1.v != variant_holder.variant.v
+
+# Test variant_holder.variant return by reference
+# v1 reference variant_holder.variant
+v1 = variant_holder.variant
+variant_holder.variant.v = 100
+assert variant_holder.variant.v == 100
+assert v1.v == 100
+v1.v = 1000
+assert variant_holder.variant.v == 1000
+assert v1.v == 1000
+
+# Test with the second alternative type
 variant_holder.variant = v2
-assert isinstance(variant_holder.variant, V1)
-assert variant_holder.variant == v2.v
+assert isinstance(variant_holder.variant, V2)
+assert variant_holder.variant.v == v2.v