diff --git a/billboard.py b/billboard.py
index <HASH>..<HASH> 100644
--- a/billboard.py
+++ b/billboard.py
@@ -268,12 +268,15 @@ class ChartData:
             def getPositionRowValue(rowName, ifNoValue=None):
                 try:
                     selector = _ROW_SELECTOR_FORMAT % rowName
-                    selected = entrySoup.select_one(selector)
-                    if selected is None or selected.string is None \
-                       or selected.string == '-':
+                    selected = entrySoup.select(selector)
+                    # We get the last element of selected because there are two
+                    # elements matching _LAST_POS_FORMAT and we want the second
+                    # one (the first is the position two weeks previous)
+                    if not selected or selected[-1].string is None \
+                       or selected[-1].string == '-':
                         return ifNoValue
                     else:
-                        return int(selected.string.strip())
+                        return int(selected[-1].string.strip())
                 except:
                     message = "Failed to parse row value: %s" % rowName
                     raise BillboardParseException(message)
Fix lastPos

We've been getting this wrong for some time. Billboard.com has two
element matching the selector we use. We want the second match, not the
first.