diff --git a/server/mapobjectdb/postgres/sql.go b/server/mapobjectdb/postgres/sql.go
index 9c2b8e2..726ee3e 100644
--- a/server/mapobjectdb/postgres/sql.go
+++ b/server/mapobjectdb/postgres/sql.go
@@ -20,7 +20,7 @@ select o.id, o.type, o.mtime,
 from objects o
 left join object_attributes oa on o.id = oa.objectid
 where o.id in (
-  select objectid from object_attributes where key = $8 and value like $9
+  select objectid from object_attributes where key = $8 and value ilike $9
 )
 and o.type = $1
 and o.posx >= $2 and o.posy >= $3 and o.posz >= $4
diff --git a/server/mapobjectdb/sqlite/mapobjects_test.go b/server/mapobjectdb/sqlite/mapobjects_test.go
index 8d3b556..bf60b82 100644
--- a/server/mapobjectdb/sqlite/mapobjects_test.go
+++ b/server/mapobjectdb/sqlite/mapobjects_test.go
@@ -144,3 +144,66 @@ func TestMapObjectsQueryWithAttribute(t *testing.T) {
 		panic("length mismatch")
 	}
 }
+
+
+func TestMapObjectsQueryWithAttributeIgnoreCase(t *testing.T) {
+	tmpfile, err := ioutil.TempFile("", "TestMapObjects.*.sqlite")
+	if err != nil {
+		panic(err)
+	}
+	//defer os.Remove(tmpfile.Name())
+
+	db, err := New(tmpfile.Name())
+	if err != nil {
+		panic(err)
+	}
+
+	err = db.Migrate()
+	if err != nil {
+		panic(err)
+	}
+
+	attrs := make(map[string]string)
+	attrs["X"] = "ABC"
+
+	pos := coords.NewMapBlockCoords(0, 0, 0)
+
+	o := mapobjectdb.MapObject{
+		MBPos:      pos,
+		X:          15,
+		Y:          15,
+		Z:          15,
+		Type:       "xy",
+		Mtime:      1234,
+		Attributes: attrs,
+	}
+
+	err = db.AddMapData(&o)
+	if err != nil {
+		panic(err)
+	}
+
+	q := mapobjectdb.SearchQuery{
+		Pos1: pos,
+		Pos2: pos,
+		Type: "xy",
+		AttributeLike: &mapobjectdb.SearchAttributeLike{
+			Key:   "X",
+			Value: "%bc",
+		},
+	}
+
+	objs, err := db.GetMapData(&q)
+
+	if err != nil {
+		panic(err)
+	}
+
+	for _, mo := range objs {
+		fmt.Println(mo)
+	}
+
+	if len(objs) != 1 {
+		panic("length mismatch")
+	}
+}