diff --git a/ctools_plugins/content_types/css_code.inc b/ctools_plugins/content_types/css_code.inc
index 05a3700..399e8f6 100755
--- a/ctools_plugins/content_types/css_code.inc
+++ b/ctools_plugins/content_types/css_code.inc
@@ -7,9 +7,11 @@ $plugin = array(
   'no title override' => TRUE,
   'description' => t('Inject CSS code into a page.'),
   'category' => t('Page elements'),
+  'all contexts' => TRUE,
   'defaults' => array(
     'admin_title' => '',
     'panels_css_js_code_css' => '',
+    'panels_css_js_code_css_substitute' => 0,
   ),
 );
 
@@ -46,8 +48,8 @@ function panels_css_js_css_code_content_type_edit_form_submit($form, &$form_stat
   panels_css_js_code_css_edit_form_submit($form_state, $conf);
 }
 
-function panels_css_js_css_code_content_type_render($subtype, $conf, $panel_args, $context) {
-  if (isset($conf['panels_css_js_code_css'])) {
-    panels_css_js_code_css_render($conf);
+function panels_css_js_css_code_content_type_render($subtype, $conf, $panel_args, $contexts) {
+  if (!empty($conf['panels_css_js_code_css'])) {
+    panels_css_js_code_css_render($conf, $contexts);
   }
 }
diff --git a/ctools_plugins/content_types/js_code.inc b/ctools_plugins/content_types/js_code.inc
index ec205ea..fbdbdcb 100755
--- a/ctools_plugins/content_types/js_code.inc
+++ b/ctools_plugins/content_types/js_code.inc
@@ -7,10 +7,12 @@ $plugin = array(
   'no title override' => TRUE,
   'description' => t('Inject JS code into a page.'),
   'category' => t('Page elements'),
+  'all contexts' => TRUE,
   'defaults' => array(
     'admin_title' => '',
     'panels_css_js_code_js' => '',
     'panels_css_js_code_js_wrapper' => 0,
+    'panels_css_js_code_js_substitute' => 0,
   ),
 );
 
@@ -47,8 +49,8 @@ function panels_css_js_js_code_content_type_edit_form_submit($form, &$form_state
   panels_css_js_code_js_edit_form_submit($form_state, $conf);
 }
 
-function panels_css_js_js_code_content_type_render($subtype, $conf, $panel_args, $context) {
-  if (isset($conf['panels_css_js_code_js'])) {
-    panels_css_js_code_js_render($conf);
+function panels_css_js_js_code_content_type_render($subtype, $conf, $panel_args, $contexts) {
+  if (!empty($conf['panels_css_js_code_js'])) {
+    panels_css_js_code_js_render($conf, $contexts);
   }
 }
diff --git a/panels_css_js.module b/panels_css_js.module
index d532981..1f29d57 100755
--- a/panels_css_js.module
+++ b/panels_css_js.module
@@ -107,6 +107,13 @@ function panels_css_js_code_css_edit_form(&$form, &$conf) {
     '#rows' => '30',
     '#attributes' => array('style' => panels_css_js_get_code_styles()),
   );
+
+  $form['settings']['panels_css_js_code_css_substitute'] = array(
+    '#type' => 'checkbox',
+    '#title' => t('Use context keywords'),
+    '#description' => t('Specify if you want to replace keywords in additional attributes.'),
+    '#default_value' => !empty($conf['panels_css_js_code_css_substitute']),
+  );
 }
 
 function panels_css_js_code_js_edit_form(&$form, &$conf) {
@@ -131,6 +138,13 @@ function panels_css_js_code_js_edit_form(&$form, &$conf) {
     '#rows' => '30',
     '#attributes' => array('style' => panels_css_js_get_code_styles()),
   );
+
+  $form['settings']['panels_css_js_code_js_substitute'] = array(
+    '#type' => 'checkbox',
+    '#title' => t('Use context keywords'),
+    '#description' => t('Specify if you want to replace keywords in additional attributes.'),
+    '#default_value' => !empty($conf['panels_css_js_code_js_substitute']),
+  );
 }
 
 function panels_css_js_form_submit($form, &$form_state) {
@@ -155,6 +169,7 @@ function panels_css_js_files_js_edit_form_submit(&$form_state, &$conf) {
 function panels_css_js_code_css_edit_form_submit(&$form_state, &$conf) {
   $values = $form_state['values'];
   $conf['panels_css_js_code_css'] = $values['panels_css_js_code_css'];
+  $conf['panels_css_js_code_css_substitute'] = $values['panels_css_js_code_css_substitute'];
 }
 
 function panels_css_js_code_js_edit_form_submit(&$form_state, &$conf) {
@@ -162,25 +177,26 @@ function panels_css_js_code_js_edit_form_submit(&$form_state, &$conf) {
 
   $conf['panels_css_js_code_js'] = $values['panels_css_js_code_js'];
   $conf['panels_css_js_code_js_wrapper'] = $values['panels_css_js_code_js_wrapper'];
+  $conf['panels_css_js_code_js_substitute'] = $values['panels_css_js_code_js_substitute'];
 }
 
 function panels_css_js_ctools_render_alter($info, $page, $context) {
   $conf = $context['handler']->conf;
 
-  if (isset($conf['panels_css_js_files_css']) && $conf['panels_css_js_files_css']) {
+  if (!empty($conf['panels_css_js_files_css'])) {
     panels_css_js_files_css_render($conf);
   }
 
-  if (isset($conf['panels_css_js_files_js']) && $conf['panels_css_js_files_js']) {
+  if (!empty($conf['panels_css_js_files_js'])) {
     panels_css_js_files_js_render($conf);
   }
 
-  if (isset($conf['panels_css_js_code_css']) && $conf['panels_css_js_code_css']) {
-    panels_css_js_code_css_render($conf);
+  if (!empty($conf['panels_css_js_code_css'])) {
+    panels_css_js_code_css_render($conf, $context['contexts']);
   }
 
-  if (isset($conf['panels_css_js_code_js']) && $conf['panels_css_js_code_js']) {
-    panels_css_js_code_js_render($conf);
+  if (!empty($conf['panels_css_js_code_js'])) {
+    panels_css_js_code_js_render($conf, $context['contexts']);
   }
 }
 
@@ -202,27 +218,31 @@ function panels_css_js_files_js_render($conf) {
   }
 }
 
-function panels_css_js_code_css_render($conf) {
-  $css_conf = $conf['panels_css_js_code_css'];
+function panels_css_js_code_css_render($conf, $contexts = NULL) {
+  $css_code = $conf['panels_css_js_code_css'];
+
+  if (!empty($conf['panels_css_js_code_css_substitute']) && $css_code && $contexts) {
+    $css_code = ctools_context_keyword_substitute($css_code, array(), $contexts);
+  }
 
-  $css_code = $css_conf;
   drupal_add_css($css_code, 'inline');
 }
 
-function panels_css_js_code_js_render($conf) {
-  $js_conf = $conf['panels_css_js_code_js'];
+function panels_css_js_code_js_render($conf, $contexts = NULL) {
+  $js_code = $conf['panels_css_js_code_js'];
   $js_wrapper_conf = $conf['panels_css_js_code_js_wrapper'];
 
-  $js_code = $js_conf;
-
   if ($js_wrapper_conf == 1) {
     $js_code = '(function($){' . $js_code . '})(jQuery);';
   }
-
-  if ($js_wrapper_conf == 2) {
+  elseif ($js_wrapper_conf == 2) {
     $js_code = '(function($){$("document").ready(function(){' . $js_code . '});})(jQuery);';
   }
 
+  if (!empty($conf['panels_css_js_code_js_substitute']) && $js_code && $contexts) {
+    $js_code = ctools_context_keyword_substitute($js_code, array(), $contexts);
+  }
+
   drupal_add_js($js_code, 'inline');
 }
 
