diff --git a/Scripts/Bash/Functions/cli_getThemeName.sh b/Scripts/Bash/Functions/cli_getThemeName.sh
index 6554c43..413bd03 100755
--- a/Scripts/Bash/Functions/cli_getThemeName.sh
+++ b/Scripts/Bash/Functions/cli_getThemeName.sh
@@ -4,6 +4,24 @@
 # absolute path to extract the theme name from it. If there is no
 # theme in the path, this function returns an empty string.
 #
+# Theme names are stored in directories immediatly under
+# Themes/Motifs/ directory and and can be named using letters and
+# numbers. When rendering themes under branches/ directory structure,
+# theme names are also built using the branch numeration the theme is
+# being rendered for.
+#
+# Branch enumeration start at number one and increment one unit each
+# time a new branch is created from the same trunk development line.
+# If a branch is created from another brach then a new directory is
+# created inside the source branch, using the same enumeration schema.
+# So, we may end up with paths like
+# branches/.../Themes/Motifs/Flame/1,
+# branches/.../Themes/Motifs/Flame/1/1,
+# branches/.../Themes/Motifs/Flame/1/2,
+# branches/.../Themes/Motifs/Flame/2,
+# branches/.../Themes/Motifs/Flame/2/1, and so on.  In all previous
+# examples the theme name holds the branch enumeration schema too.
+#
 # Copyright (C) 2009, 2010 Alain Reguera Delgado
 # 
 # This program is free software; you can redistribute it and/or
@@ -29,10 +47,13 @@ function cli_getThemeName {
 
     local THEMENAME=''
 
+    # Define theme name from action value.
     if [[ $ACTIONVAL =~ '^.+/Themes/Motifs/([A-Za-z0-9-]+)/.+$' ]];then
-        THEMENAME=$(echo $ACTIONVAL \
-            | sed -r "s!^.+/Themes/Motifs/([A-Za-z0-9-]+(/${RELEASE_FORMAT})?)/.+!\1!") 
+        THEMENAME=$(echo $ACTIONVAL | sed -r \
+            -e "s!^.+/Themes/Motifs/([A-Za-z0-9-]+(/${RELEASE_FORMAT})*)/.+!\1!") 
     fi
 
+    # Print theme name to standard output.
     echo $THEMENAME
+
 }