diff --git a/browser/components/places/content/treeView.js b/browser/components/places/content/treeView.js
index 28b5e4f0c5cd..a4d97fbeffe3 100644
--- a/browser/components/places/content/treeView.js
+++ b/browser/components/places/content/treeView.js
@@ -787,6 +787,10 @@ PlacesTreeView.prototype = {
if (!this._tree || !this._result)
return;
+ // Nothing to do for the root node.
+ if (aNode == this._rootNode)
+ return;
+
let row = this._getRowForNode(aNode);
if (row == -1)
return;
diff --git a/browser/components/places/tests/chrome/Makefile.in b/browser/components/places/tests/chrome/Makefile.in
index 53ace7cd105e..5660d865ff76 100644
--- a/browser/components/places/tests/chrome/Makefile.in
+++ b/browser/components/places/tests/chrome/Makefile.in
@@ -50,6 +50,7 @@ _CHROME_TEST_FILES = \
test_0_multiple_left_pane.xul \
test_0_bug510634.xul \
test_bug549192.xul \
+ test_bug549491.xul \
$(NULL)
libs:: $(_CHROME_TEST_FILES)
diff --git a/browser/components/places/tests/chrome/test_bug549491.xul b/browser/components/places/tests/chrome/test_bug549491.xul
new file mode 100644
index 000000000000..71c7d4656c88
--- /dev/null
+++ b/browser/components/places/tests/chrome/test_bug549491.xul
@@ -0,0 +1,82 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+