diff --git a/src/controls/TableView.qml b/src/controls/TableView.qml
index cf12ed01bc8a3a5a7780c04ab89e6d6c3edd2553..56c27fdebf0b0ee112824abb05e2f08a2baef92a 100644
--- a/src/controls/TableView.qml
+++ b/src/controls/TableView.qml
@@ -216,7 +216,9 @@ ScrollView {
     property alias section: listView.section
 
     /*! \qmlproperty int TableView::currentRow
-    The current row index of the view. */
+    The current row index of the view.
+    The default value is \c -1 to indicate that no row is selected.
+    */
     property alias currentRow: listView.currentIndex
 
     /*! \qmlsignal TableView::activated()
@@ -255,6 +257,7 @@ ScrollView {
         activeFocusOnTab: true
         anchors.topMargin: tableHeader.height
         anchors.fill: parent
+        currentIndex: -1
 
         flickableDirection: Flickable.HorizontalFlick
         SystemPalette {
diff --git a/tests/auto/controls/data/tableview/table1_qobjectmodel.qml b/tests/auto/controls/data/tableview/table1_qobjectmodel.qml
index 4b26f66ddd24c272cac98705e38c4afea080dec7..f058de00cfa59389445eda34f944569ecf72bea2 100644
--- a/tests/auto/controls/data/tableview/table1_qobjectmodel.qml
+++ b/tests/auto/controls/data/tableview/table1_qobjectmodel.qml
@@ -45,6 +45,7 @@ import QtQuickControlsTests 1.0
 TableView {
     model: TestObject {}
     height: 70
+    currentRow: 0
     TableViewColumn {
         role: "value"
         width: 100
diff --git a/tests/auto/controls/data/tableview/table2_qabstractitemmodel.qml b/tests/auto/controls/data/tableview/table2_qabstractitemmodel.qml
index bc3da2328c37dfaaa680fda6ec2e75f6acc07756..514a57c821af48f65d09de5ba9f3906973831506 100644
--- a/tests/auto/controls/data/tableview/table2_qabstractitemmodel.qml
+++ b/tests/auto/controls/data/tableview/table2_qabstractitemmodel.qml
@@ -45,6 +45,7 @@ import QtQuickControlsTests 1.0
 TableView {
     model: TestItemModel {}
     height: 70
+    currentRow: 0
     TableViewColumn {
         role: "test"
         width: 100
diff --git a/tests/auto/controls/data/tableview/table3_qobjectlist.qml b/tests/auto/controls/data/tableview/table3_qobjectlist.qml
index f3f64327ed6706d3888a38aeb8b5a4aedfb0f8d3..76008e8f18a98db5bcd44b17ba94473dfa261e19 100644
--- a/tests/auto/controls/data/tableview/table3_qobjectlist.qml
+++ b/tests/auto/controls/data/tableview/table3_qobjectlist.qml
@@ -44,6 +44,7 @@ import QtQuickControlsTests 1.0
 
 TableView {
     model: model_qobjectlist
+    currentRow: 0
     height: 70
     TableViewColumn {
         role: "value"
diff --git a/tests/auto/controls/data/tableview/table4_qstringlist.qml b/tests/auto/controls/data/tableview/table4_qstringlist.qml
index 75840499a1669e0790506e90256426eb41aa95a8..94f86156a08ec27c06bf8f6295df27a96c1308cb 100644
--- a/tests/auto/controls/data/tableview/table4_qstringlist.qml
+++ b/tests/auto/controls/data/tableview/table4_qstringlist.qml
@@ -45,6 +45,7 @@ import QtQuickControlsTests 1.0
 TableView {
     model: model_qstringlist
     height: 70
+    currentRow: 0
     TableViewColumn {
         width: 100
     }
diff --git a/tests/auto/controls/data/tableview/table5_listmodel.qml b/tests/auto/controls/data/tableview/table5_listmodel.qml
index c0e46abcbbe509ae59678e2e5f3a031cf508b953..e8074201e7fe220a362ea2de71abca0d9cfd2dc9 100644
--- a/tests/auto/controls/data/tableview/table5_listmodel.qml
+++ b/tests/auto/controls/data/tableview/table5_listmodel.qml
@@ -42,6 +42,7 @@ import QtQuick 2.1
 import QtQuick.Controls 1.0
 
 TableView {
+    currentRow: 0
 
     model:  ListModel {
         ListElement { value: "A" }
diff --git a/tests/auto/controls/data/tableview/table6_countmodel.qml b/tests/auto/controls/data/tableview/table6_countmodel.qml
index 995de48527868f1b34ec95176fbddd71c7c13938..4a7073d4b3e9684c382f711912f0ff69b0f92329 100644
--- a/tests/auto/controls/data/tableview/table6_countmodel.qml
+++ b/tests/auto/controls/data/tableview/table6_countmodel.qml
@@ -44,6 +44,7 @@ import QtQuick.Controls 1.0
 TableView {
     model: 3 // qml
     height: 70
+    currentRow: 0
     TableViewColumn {
         width: 100
     }
diff --git a/tests/auto/controls/data/tableview/table7_arraymodel.qml b/tests/auto/controls/data/tableview/table7_arraymodel.qml
index d3483ddcb1b262eb3ef0e57ab12e513aee09bf44..d794e170cba5ad1304977e9b3c958592a596dfe9 100644
--- a/tests/auto/controls/data/tableview/table7_arraymodel.qml
+++ b/tests/auto/controls/data/tableview/table7_arraymodel.qml
@@ -44,6 +44,7 @@ import QtQuick.Controls 1.0
 TableView {
     model: ["A", "B", "C"] // qml
     height: 70
+    currentRow: 0
     TableViewColumn {
         width: 100
     }
diff --git a/tests/auto/controls/data/tableview/table8_itemmodel.qml b/tests/auto/controls/data/tableview/table8_itemmodel.qml
index 081f1d61b13e16f184ee82f85f09d7caef6b2e88..c39ae5335636d06fc3201041cc4d8b323adc64cf 100644
--- a/tests/auto/controls/data/tableview/table8_itemmodel.qml
+++ b/tests/auto/controls/data/tableview/table8_itemmodel.qml
@@ -44,6 +44,7 @@ import QtQuick.Controls 1.0
 TableView {
     model: Item { x: 10 }// qml
     height: 70
+    currentRow: 0
     TableViewColumn {
         role: "x"
         width: 100
diff --git a/tests/auto/controls/data/tst_tableview.qml b/tests/auto/controls/data/tst_tableview.qml
index 4bdf15dbcc9b72b62974022e2cf21263d418eee3..b03d58fe00f358a8c7dd744020eb40bc7344e084 100644
--- a/tests/auto/controls/data/tst_tableview.qml
+++ b/tests/auto/controls/data/tst_tableview.qml
@@ -64,6 +64,29 @@ TestCase {
                 ]
     }
 
+    function test_basic_setup() {
+        var test_instanceStr =
+           'import QtQuick 2.1;             \
+            import QtQuick.Controls 1.0;    \
+            TableView {                     \
+                TableViewColumn {           \
+                }                           \
+                model: 10                   \
+            }'
+
+        var table = Qt.createQmlObject(test_instanceStr, testCase, '')
+        compare(table.currentRow, -1)
+        verify(table.rowCount === 10)
+        verify (table.currentRowItem === null)
+        table.currentRow = 0
+        verify(table.currentRowItem !== null)
+        verify (table.currentRow === 0)
+        table.currentRow = 3
+        verify(table.currentRowItem !== null)
+        verify (table.currentRow === 3)
+        table.destroy()
+    }
+
     function test_usingqmlmodel(data) {
 
         var component = Qt.createComponent(data.a)