diff --git a/web/pgadmin/utils/sqlautocomplete/autocomplete.py b/web/pgadmin/utils/sqlautocomplete/autocomplete.py
index fa6c56d..259c15e 100644
--- a/web/pgadmin/utils/sqlautocomplete/autocomplete.py
+++ b/web/pgadmin/utils/sqlautocomplete/autocomplete.py
@@ -671,6 +671,11 @@ class SQLAutoComplete(object):
                                                 full_text, identifier)
 
     def suggest_based_on_last_token(self, token, text_before_cursor, full_text, identifier):
+        # New version of sqlparse sends tuple, we need to make it
+        # compatible with our logic
+        if isinstance(token, tuple) and len(token) > 1:
+            token = token[1]
+
         if isinstance(token, string_types):
             token_v = token.lower()
         elif isinstance(token, Comparison):
diff --git a/web/pgadmin/utils/sqlautocomplete/parseutils.py b/web/pgadmin/utils/sqlautocomplete/parseutils.py
index 29020a9..8817711 100644
--- a/web/pgadmin/utils/sqlautocomplete/parseutils.py
+++ b/web/pgadmin/utils/sqlautocomplete/parseutils.py
@@ -275,7 +275,7 @@ def parse_partial_identifier(word):
     n_tok = len(p.tokens)
     if n_tok == 1 and isinstance(p.tokens[0], Identifier):
         return p.tokens[0]
-    elif p.token_next_match(0, Error, '"'):
+    elif hasattr(p, 'token_next_match') and p.token_next_match(0, Error, '"'):
         # An unmatched double quote, e.g. '"foo', 'foo."', or 'foo."bar'
         # Close the double quote, then reparse
         return parse_partial_identifier(word + '"')
