Returning get value

Hi, I need help in following script.
Somehow it seems that get doesn’t return nothing because every time rx-bits-per-second is larger then 30M, it always sets queue tree max-limit to 5M
I just want the control not to apply max-limit again if it’s already set

/interface monitor-traffic Internet once do={
        :if ($"rx-bits-per-second" > 30720000 ) do={            
            :if ([/queue tree get skype-to-phone_download max-limit ] != "5M") do={
                /queue tree set skype-to-phone_download max-limit=5M
                :log warning Limit_queue_tree_skype ;
            }
        }
}
/interface monitor-traffic Internet once do={
        :if ($"rx-bits-per-second" < 20480000 ) do={
            :if ([/queue tree get skype-to-phone_download max-limit ] != "8M") do={
                /queue tree set skype-to-phone_download max-limit=8M
                :log warning Unlimit_queue_tree_skype ;
            }
        }
}

When I run this in the terminal, it outputs: 5000000

:put [/queue tree get skype-to-phone_download max-limit];

So, change “5M” and “8M” to 5000000 and 8000000:

/interface monitor-traffic Internet once do={
        :if ($"rx-bits-per-second" > 30720000 ) do={           
            :if ([/queue tree get skype-to-phone_download max-limit ] != 5000000) do={
                /queue tree set skype-to-phone_download max-limit=5M
                :log warning Limit_queue_tree_skype ;
            }
        }
}
/interface monitor-traffic Internet once do={
        :if ($"rx-bits-per-second" < 20480000 ) do={
            :if ([/queue tree get skype-to-phone_download max-limit ] != 8000000) do={
                /queue tree set skype-to-phone_download max-limit=8M
                :log warning Unlimit_queue_tree_skype ;
            }
        }
}