diff --git a/src/kits/interface/ListView.cpp b/src/kits/interface/ListView.cpp
index 3b53277f4a..523b275ec0 100644
--- a/src/kits/interface/ListView.cpp
+++ b/src/kits/interface/ListView.cpp
@@ -848,7 +848,7 @@ BListView::DeselectAll()
 	if (fFirstSelected == -1)
 		return;
 
-    for (int32 index = fFirstSelected; index <= fLastSelected; index++) {
+	for (int32 index = fFirstSelected; index <= fLastSelected; index++) {
 		if (ItemAt(index)->IsSelected()) {
 			ItemAt(index)->Deselect();
 			InvalidateItem(index);
@@ -871,13 +871,13 @@ BListView::DeselectExcept(int32 start, int32 finish)
 
 	// TODO: check if the items from start to finish are
 	// supposed to be selected if not already
-    for (index = fFirstSelected; index < start; index++) {
+    	for (index = fFirstSelected; index < start; index++) {
 		if (ItemAt(index)->IsSelected()) {
 			ItemAt(index)->Deselect();
 			InvalidateItem(index);
 		}
-    }
-    for (index = finish + 1; index <= fLastSelected; index++) {
+    	}
+    	for (index = finish + 1; index <= fLastSelected; index++) {
 		if (ItemAt(index)->IsSelected()) {
 			ItemAt(index)->Deselect();
 			InvalidateItem(index);
@@ -1227,35 +1227,30 @@ BListView::_Select(int32 index, bool extend)
 	if (index < 0 || index >= CountItems())
 		return false;
 
-    if ((fFirstSelected != -1) && (!extend))
-    {
-		for (int32 item = fFirstSelected; item <= fLastSelected; ++item)
-		{
-			if ((ItemAt(item)->IsSelected()) && (item != index))
-			{
-				ItemAt(item)->Deselect();
-				InvalidateItem(item);
+	if ((fFirstSelected != -1) && (!extend)) {
+		for (int32 i = fFirstSelected; i <= fLastSelected; ++i) {
+			BListItem *item = ItemAt(i);
+			if (item && item->IsSelected() && (i != index)) {
+				item->Deselect();
+				InvalidateItem(i);
 			}
 		}
-
 		fFirstSelected = -1;
 	}
 
-    if (fFirstSelected == -1)
-    {
+	if (fFirstSelected == -1) {
 		fFirstSelected = index;
 		fLastSelected = index;
 	}
-    else if (index < fFirstSelected)
+	else if (index < fFirstSelected)
 		fFirstSelected = index;
-    else if (index > fLastSelected)
+	else if (index > fLastSelected)
 		fLastSelected = index;
 
-    if (!ItemAt(index)->IsSelected())
-    {
+	if (ItemAt(index) && !ItemAt(index)->IsSelected()) {
 		ItemAt(index)->Select();
 		InvalidateItem(index);
-    }
+	}
 
 	return true;
 }
@@ -1267,36 +1262,31 @@ BListView::_Select(int32 from, int32 to, bool extend)
 	if (to < from)
 		return false;
 
-	if ((fFirstSelected != -1) && (!extend))
-    {
-		for (int32 item = fFirstSelected; item <= fLastSelected; ++item)
-		{
-			if ((ItemAt(item)->IsSelected()) && (item < from || item > to))
-			{
-				ItemAt(item)->Deselect();
-				InvalidateItem(item);
+	if ((fFirstSelected != -1) && (!extend)) {
+		for (int32 i = fFirstSelected; i <= fLastSelected; ++i) {
+			BListItem *item = ItemAt(i);
+			if (item && item->IsSelected() && (i < from || i > to)) {
+				ItemAt(i)->Deselect();
+				InvalidateItem(i);
 			}
 		}
-
 		fFirstSelected = -1;
 	}
 
-	if (fFirstSelected == -1)
-    {
+	if (fFirstSelected == -1) {
 		fFirstSelected = from;
 		fLastSelected = to;
 	}
-    else if (from < fFirstSelected)
+	else if (from < fFirstSelected)
 		fFirstSelected = from;
-    else if (to > fLastSelected)
+	else if (to > fLastSelected)
 		fLastSelected = to;
 
-	for (int32 item = from; item <= to; ++item)
-	{
-		if (!ItemAt(item)->IsSelected())
-		{
-			ItemAt(item)->Select();
-			InvalidateItem(item);
+	for (int32 i = from; i <= to; ++i) {
+		BListItem *item = ItemAt(i);
+		if (item && !item->IsSelected()) {
+			item->Select();
+			InvalidateItem(i);
 		}
 	}