diff --git a/functional/test_create_update.py b/functional/test_create_update.py
index c9b8add..8c78951 100644
--- a/functional/test_create_update.py
+++ b/functional/test_create_update.py
@@ -520,10 +520,8 @@
                  'image': self.conf.minimal_image_ref,
                  'network': self.conf.fixed_network_name,
                  'user_data': ''}
-        name = self._stack_rand_name()
 
         stack_identifier = self.stack_create(
-            stack_name=name,
             template=self.update_userdata_template,
             parameters=parms
         )
diff --git a/functional/test_remote_stack.py b/functional/test_remote_stack.py
index 91a165c..96306ac 100644
--- a/functional/test_remote_stack.py
+++ b/functional/test_remote_stack.py
@@ -78,11 +78,9 @@
         self.assertEqual(remote_resources, self.list_resources(remote_id))
 
     def test_stack_create_bad_region(self):
-        stack_name = self._stack_rand_name()
         tmpl_bad_region = self.template.replace('RegionOne', 'DARKHOLE')
         files = {'remote_stack.yaml': self.remote_template}
         kwargs = {
-            'stack_name': stack_name,
             'template': tmpl_bad_region,
             'files': files
         }
@@ -94,10 +92,9 @@
         self.assertEqual(error_msg, six.text_type(ex))
 
     def test_stack_resource_validation_fail(self):
-        stack_name = self._stack_rand_name()
         tmpl_bad_format = self.remote_template.replace('resources', 'resource')
         files = {'remote_stack.yaml': tmpl_bad_format}
-        kwargs = {'stack_name': stack_name, 'files': files}
+        kwargs = {'files': files}
         ex = self.assertRaises(exc.HTTPBadRequest, self.stack_create, **kwargs)
 
         error_msg = ('ERROR: Failed validating stack template using Heat '
diff --git a/scenario/test_server_software_config.py b/scenario/test_server_software_config.py
index f5e86e6..75de02e 100644
--- a/scenario/test_server_software_config.py
+++ b/scenario/test_server_software_config.py
@@ -43,10 +43,6 @@
 
 class SoftwareConfigIntegrationTest(scenario_base.ScenarioTestsBase):
 
-    def setUp(self):
-        super(SoftwareConfigIntegrationTest, self).setUp()
-        self.stack_name = self._stack_rand_name()
-
     def check_stack(self):
         sid = self.stack_identifier
         # Check that all stack resources were created
@@ -161,7 +157,6 @@
 
         # Launch stack
         self.stack_identifier = self.launch_stack(
-            stack_name=self.stack_name,
             template_name='test_server_software_config.yaml',
             parameters=parameters,
             files=dict(list(files.items()) + list(env_files.items())),
