diff --git a/cinder/tests/unit/volume/drivers/emc/scaleio/mocks.py b/cinder/tests/unit/volume/drivers/emc/scaleio/mocks.py
index 95fee182a1b..248d8deb5d6 100644
--- a/cinder/tests/unit/volume/drivers/emc/scaleio/mocks.py
+++ b/cinder/tests/unit/volume/drivers/emc/scaleio/mocks.py
@@ -44,6 +44,10 @@ class ScaleIODriver(scaleio.ScaleIODriver):
                                    override='test_domain')
         configuration.set_override('sio_storage_pools',
                                    override='test_domain:test_pool')
+        if 'san_thin_provision' in kwargs:
+            configuration.set_override(
+                'san_thin_provision',
+                override=kwargs['san_thin_provision'])
 
         super(ScaleIODriver, self).__init__(configuration=configuration,
                                             *args,
diff --git a/cinder/tests/unit/volume/drivers/emc/scaleio/test_misc.py b/cinder/tests/unit/volume/drivers/emc/scaleio/test_misc.py
index 01e6e21ed80..b8dd9f30f1e 100644
--- a/cinder/tests/unit/volume/drivers/emc/scaleio/test_misc.py
+++ b/cinder/tests/unit/volume/drivers/emc/scaleio/test_misc.py
@@ -12,6 +12,8 @@
 #    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 #    License for the specific language governing permissions and limitations
 #    under the License.
+
+import ddt
 import mock
 from six.moves import urllib
 
@@ -23,6 +25,7 @@ from cinder.tests.unit.volume.drivers.emc import scaleio
 from cinder.tests.unit.volume.drivers.emc.scaleio import mocks
 
 
+@ddt.ddt
 class TestMisc(scaleio.TestScaleIODriver):
     DOMAIN_NAME = 'PD1'
     POOL_NAME = 'SP1'
@@ -188,3 +191,20 @@ class TestMisc(scaleio.TestScaleIODriver):
             self.volume,
             self.new_volume['id']
         )
+
+    def test_default_provisioning_type_unspecified(self):
+        empty_storage_type = {}
+        self.assertEqual(
+            'thin',
+            self.driver._find_provisioning_type(empty_storage_type))
+
+    @ddt.data((True, 'thin'), (False, 'thick'))
+    @ddt.unpack
+    def test_default_provisioning_type_thin(self, config_provisioning_type,
+                                            expected_provisioning_type):
+        self.driver = mocks.ScaleIODriver(
+            san_thin_provision=config_provisioning_type)
+        empty_storage_type = {}
+        self.assertEqual(
+            expected_provisioning_type,
+            self.driver._find_provisioning_type(empty_storage_type))
diff --git a/cinder/volume/drivers/emc/scaleio.py b/cinder/volume/drivers/emc/scaleio.py
index ec5a092c24a..4a8fca79669 100644
--- a/cinder/volume/drivers/emc/scaleio.py
+++ b/cinder/volume/drivers/emc/scaleio.py
@@ -153,6 +153,12 @@ class ScaleIODriver(driver.VolumeDriver):
                  "Protection domain id: %(domain_id)s."),
                  {'domain_id': self.protection_domain_id})
 
+        self.provisioning_type = (
+            'thin' if self.configuration.san_thin_provision else 'thick')
+        LOG.info(_LI(
+                 "Default provisioning type: %(provisioning_type)s."),
+                 {'provisioning_type': self.provisioning_type})
+
         self.connector = connector.InitiatorConnector.factory(
             connector.SCALEIO, utils.get_root_helper(),
             device_scan_attempts=
@@ -235,7 +241,8 @@ class ScaleIODriver(driver.VolumeDriver):
                                 self.protection_domain_name)
 
     def _find_provisioning_type(self, storage_type):
-        return storage_type.get(PROVISIONING_KEY)
+        return storage_type.get(PROVISIONING_KEY,
+                                self.provisioning_type)
 
     def _find_limit(self, storage_type, qos_key, extraspecs_key):
         qos_limit = (storage_type.get(qos_key)
diff --git a/releasenotes/notes/scaleio-default-volume-provisioning-c648118fcc8f297f.yaml b/releasenotes/notes/scaleio-default-volume-provisioning-c648118fcc8f297f.yaml
new file mode 100644
index 00000000000..ff9185742c0
--- /dev/null
+++ b/releasenotes/notes/scaleio-default-volume-provisioning-c648118fcc8f297f.yaml
@@ -0,0 +1,5 @@
+---
+upgrade:
+  - EMC ScaleIO driver now uses the config option
+    san_thin_provision to determine the default
+    provisioning type.