diff --git a/test/vcpe/cleanvGMUX.py b/test/vcpe/cleanvGMUX.py
index 93135fb..f1e91a7 100755
--- a/test/vcpe/cleanvGMUX.py
+++ b/test/vcpe/cleanvGMUX.py
@@ -30,14 +30,14 @@
 
     interfaces = response.get('interfaces').get('interface')
     for inf in interfaces:
-        name = inf.get('name')        
-        if name.startswith('vxlanTun10'):       
+        name = inf.get('name')
+        if name.startswith('vxlanTun10'):
             logger.debug('name = {0}'.format(name))
             delete_interface_v3po_l2(name)
 
     for inf in interfaces:
-        name = inf.get('name')        
-        if name.startswith('vxlanTun10'):       
+        name = inf.get('name')
+        if name.startswith('vxlanTun10'):
             logger.debug('name = {0}'.format(name))
             delete_interface(name)
 
@@ -50,7 +50,7 @@
     url = '{0}/interface/{1}'.format(base_url, interface_name)
     r = requests.delete(url, headers=headers, auth=auth)
     logger.debug(r)
-        
+
 if __name__ == '__main__':
     gmux_ip = sys.argv[1]
     base_url = 'http://{0}:8183/restconf/config/ietf-interfaces:interfaces'.format(gmux_ip)
