diff --git a/pymatgen/io/cif.py b/pymatgen/io/cif.py
index <HASH>..<HASH> 100644
--- a/pymatgen/io/cif.py
+++ b/pymatgen/io/cif.py
@@ -31,10 +31,6 @@ from pymatgen.electronic_structure.core import Magmom
 from pymatgen.core.operations import MagSymmOp
 from pymatgen.symmetry.maggroups import MagneticSpaceGroup
 
-try:
-    from pybtex.database import BibliographyData, Entry
-except ImportError:
-    BibliographyData, Entry = None, None
 
 """
 Wrapper classes for Cif input and output from Structures.
@@ -1111,7 +1107,6 @@ class CifParser:
             raise ValueError("Invalid cif file with no structures!")
         return structures
 
-    @requires(BibliographyData, "Bibliographic data extraction requires pybtex.")
     def get_bibtex_string(self):
         """
         Get BibTeX reference from CIF file.
@@ -1119,6 +1114,11 @@ class CifParser:
         :return: BibTeX string
         """
 
+        try:
+            from pybtex.database import BibliographyData, Entry
+        except ImportError:
+            raise RuntimeError("Bibliographic data extraction requires pybtex.")
+
         bibtex_keys = {'author': ('_publ_author_name', '_citation_author_name'),
                        'title': ('_publ_section_title', '_citation_title'),
                        'journal': ('_journal_name_full', '_journal_name_abbrev',
Move pybtex import into get_bibtex_string and simply fail instead of having a warning. Fixes #<I>