diff --git a/lib/state.py b/lib/state.py
index c59c359..612753e 100755
--- a/lib/state.py
+++ b/lib/state.py
@@ -30,6 +30,7 @@
 import gen_print as gp
 import gen_robot_print as grp
 import gen_valid as gv
+import gen_robot_utils as gru
 
 import commands
 from robot.libraries.BuiltIn import BuiltIn
@@ -38,33 +39,19 @@
 import re
 import os
 
-# We don't want global variable getting changed when an import is done
-# so we'll save it and restore it.
-quiet = int(BuiltIn().get_variable_value("${quiet}"))
 # We need utils.robot to get keywords like "Get Power State".
-BuiltIn().import_resource("utils.robot")
+gru.my_import_resource("utils.robot")
+gru.my_import_resource("state_manager.robot")
 
-###############################################################################
 # The BMC code is about to be changed as far as what states are defined and
 # what the state values can be.  I am creating a means of processing both the
 # old style state (i.e. OBMC_STATES_VERSION = 0) and the new style (i.e.
-# OBMC_STATES_VERSION >= 1.
+# OBMC_STATES_VERSION = 1).
 # The caller can set environment variable OBMC_STATES_VERSION to dictate
 # whether we're processing old or new style states.  If OBMC_STATES_VERSION is
 # not set it will default to 0.
-DEFAULT_OBMC_STATES_VERSION = 0
-try:
-    BuiltIn().import_resource("state_manager.robot")
-except RuntimeError:
-    pass
 
-try:
-    OBMC_STATES_VERSION = int(os.environ.get('OBMC_STATES_VERSION',
-                              DEFAULT_OBMC_STATES_VERSION))
-except ValueError:
-    OBMC_STATES_VERSION = DEFAULT_OBMC_STATES_VERSION
-BuiltIn().set_global_variable("${quiet}", quiet)
-quiet = int(BuiltIn().get_variable_value("${quiet}"))
+OBMC_STATES_VERSION = int(os.environ.get('OBMC_STATES_VERSION', 0))
 
 if OBMC_STATES_VERSION == 0:
     default_state = DotDict([('power', '1'),
@@ -328,7 +315,7 @@
             os_password = ""
 
     # Get the component states.
-    if OBMC_STATES_VERSION== 0:
+    if OBMC_STATES_VERSION == 0:
         cmd_buf = ["Get Power State", "quiet=${" + str(quiet) + "}"]
         grp.rdpissuing_keyword(cmd_buf)
         power = BuiltIn().run_keyword(*cmd_buf)
@@ -339,7 +326,7 @@
         # Strip everything up to the final period.
         chassis = re.sub(r'.*\.', "", chassis)
 
-    if OBMC_STATES_VERSION== 0:
+    if OBMC_STATES_VERSION == 0:
         qualifier = "utils"
     else:
         qualifier = "state_manager"
