diff --git a/common/djangoapps/terrain/ui_helpers.py b/common/djangoapps/terrain/ui_helpers.py
index 38e984e..7260f70 100644
--- a/common/djangoapps/terrain/ui_helpers.py
+++ b/common/djangoapps/terrain/ui_helpers.py
@@ -22,7 +22,7 @@ from selenium.common.exceptions import (
 from selenium.webdriver.support import expected_conditions as EC
 from selenium.webdriver.common.by import By
 from selenium.webdriver.support.ui import WebDriverWait
-from nose.tools import assert_true  # pylint: disable=E0611
+from nose.tools import assert_true  # pylint: disable=no-name-in-module
 
 
 REQUIREJS_WAIT = {
@@ -306,6 +306,25 @@ def css_has_text(css_selector, text, index=0, strip=False):
 
 
 @world.absorb
+def css_contains_text(css_selector, partial_text, index=0):
+    """
+    Return a boolean indicating whether the element with `css_selector`
+    contains `partial_text`.
+
+    If there are multiple elements matching the css selector,
+    use `index` to indicate which one.
+    """
+    # If we're expecting a non-empty string, give the page
+    # a chance to fill in text fields.
+    if partial_text:
+        wait_for(lambda _: css_text(css_selector, index=index))
+
+    actual_text = css_text(css_selector, index=index)
+
+    return partial_text in actual_text
+
+
+@world.absorb
 def css_has_value(css_selector, value, index=0):
     """
     Return a boolean indicating whether the element with
diff --git a/lms/djangoapps/courseware/features/conditional.py b/lms/djangoapps/courseware/features/conditional.py
index db6b043..4ec593f 100644
--- a/lms/djangoapps/courseware/features/conditional.py
+++ b/lms/djangoapps/courseware/features/conditional.py
@@ -1,6 +1,8 @@
+# pylint: disable=C0111
+# pylint: disable=W0621
 
 from lettuce import world, steps
-from nose.tools import assert_in, assert_equals, assert_true
+from nose.tools import assert_in, assert_true  # pylint: disable=no-name-in-module
 
 from common import i_am_registered_for_the_course, visit_scenario_item
 from problems_setup import add_problem_to_course, answer_problem
@@ -90,6 +92,7 @@ class ConditionalSteps(object):
             assert_true(world.css_visible('.hidden-contents'))
         else:
             assert_true(world.is_css_not_present('.hidden-contents'))
+            assert_true(world.css_contains_text('.conditional-message', 'must be attempted before this will become visible.'))  # sarina
 
     def answer_poll(self, step, answer):
         r' I answer the conditioned poll "([^"]*)"$'
@@ -116,4 +119,4 @@ class ConditionalSteps(object):
                 return
 
 
-ConditionalSteps()
\ No newline at end of file
+ConditionalSteps()
diff --git a/lms/templates/conditional_module.html b/lms/templates/conditional_module.html
index ff37a35..fa4b7f3 100644
--- a/lms/templates/conditional_module.html
+++ b/lms/templates/conditional_module.html
@@ -5,11 +5,11 @@ from django.core.urlresolvers import reverse
 def _message(reqm, message):
     return message.format(link="<a href={url}>{url_name}</a>".format(
         url = reverse('jump_to', kwargs=dict(course_id=reqm.course_id.to_deprecated_string(),
-                        location=reqm.location.url())),
+                        location=reqm.location.to_deprecated_string())),
         url_name = reqm.display_name_with_default))
 %>
 % if message:
 	% for reqm in module.required_modules:
-		<p>${_message(reqm, message)}</p>
+		<p class="conditional-message">${_message(reqm, message)}</p>
 	% endfor
 % endif