diff --git a/indra/newview/llfloatertools.cpp b/indra/newview/llfloatertools.cpp
index bbcab00ab2ae926d1774b9d0e5c07991fdd3c179..d05c9cb9a79d8294e4f0e561e0595bf46f59d278 100644
--- a/indra/newview/llfloatertools.cpp
+++ b/indra/newview/llfloatertools.cpp
@@ -446,7 +446,7 @@ void LLFloaterTools::draw()
 void LLFloaterTools::dirty()
 {
 	mDirty = TRUE; 
-	LLFloaterOpenObject* instance = LLFloaterReg::getTypedInstance<LLFloaterOpenObject>("openobject");
+	LLFloaterOpenObject* instance = LLFloaterReg::findTypedInstance<LLFloaterOpenObject>("openobject");
 	if (instance) instance->dirty();
 }
 
diff --git a/indra/newview/llinventoryfilter.cpp b/indra/newview/llinventoryfilter.cpp
index c41900d691953f1267f88adc7518b209dfb4f7b8..b4d3f4575bc6417723d5ea1aa4ff3af6d6693335 100644
--- a/indra/newview/llinventoryfilter.cpp
+++ b/indra/newview/llinventoryfilter.cpp
@@ -111,11 +111,16 @@ BOOL LLInventoryFilter::check(LLFolderViewItem* item)
 	}
 	else
 	{
-		passed_type |= ((1LL << listener->getInventoryType() & mFilterOps.mFilterTypes) != U64(0));
-		if (listener->getInventoryType() == LLInventoryType::IT_NONE)
+		LLInventoryType::EType type = listener->getInventoryType();
+		passed_type |= ((1LL << type & mFilterOps.mFilterTypes) != U64(0));
+		if (type == LLInventoryType::IT_NONE)
 		{
 			const LLInventoryObject *obj = gInventory.getObject(listener->getUUID());
-			if (obj && !obj->getIsLinkType())
+			if (obj && obj->getIsLinkType())
+			{
+				passed_type = FALSE;
+			}
+			else
 			{
 				passed_type = TRUE;
 			}