diff --git a/doc/en/Authoring/Options.md b/doc/en/Authoring/Options.md
index d2354de241a0b09fb14736da7d41cecba3d298cb..4ee4ee92c0f01ea3077724eed298476d4e01d1db 100644
--- a/doc/en/Authoring/Options.md
+++ b/doc/en/Authoring/Options.md
@@ -75,9 +75,9 @@ The expression `(make_multsgn("cross"), a*b)` uses parentheses as an abbreviatio
 
 The value of this option `onum` will only put a multiplication sign between numbers.  This means you will see \(3\times 5\, x\) and not \(3\, 5\, x\) as you would if you have "none".
 
-There is a special atom which controls the multiplication symbol.  If you would like a dot then define
+There is a special atom which controls the multiplication symbol used with option `onum`.  If you would like a dot then define
 
-    texput(multsgnonlyfornumberssym, "\\times");
+    texput(multsgnonlyfornumberssym, "\\cdot");
 
 in the question variables.
 
diff --git a/doc/en/Developer/Development_track.md b/doc/en/Developer/Development_track.md
index ec307f5eee2bdbdd3aa8374861982d0000e0be01..a4f1fb07f90c8a603d757e91dc5184c856fc248e 100644
--- a/doc/en/Developer/Development_track.md
+++ b/doc/en/Developer/Development_track.md
@@ -12,6 +12,7 @@ DONE
 1. Fix [issue #1160](https://github.com/maths/moodle-qtype_stack/issues/879) Allow configuring the MathJax URL
 2. Add in stack preamble via `%_stack_preamble_end;` in the question variables to allow some variables to be available in inputs.  This fixes [issue #1207](https://github.com/maths/moodle-qtype_stack/issues/1207]) and [issue #1133](https://github.com/maths/moodle-qtype_stack/issues/1133).
 3. Allow Maxima code in keyvals to terminate expressions with a `$` (as in Maxima) [issue #1019](https://github.com/maths/moodle-qtype_stack/issues/1019]).  This will allow better copy/paste to and from desktop maxima.
+4. Add in an option to fine-tune the multiplication sign used for scientific units:  `multsgnstackunits`.  See discussion in [issue #1080](https://github.com/maths/moodle-qtype_stack/issues/1080]).
 
 Issues with [github milestone 4.7.0](https://github.com/maths/moodle-qtype_stack/issues?q=is%3Aissue+milestone%3A4.7.0) include
 
diff --git a/doc/en/Topics/Units.md b/doc/en/Topics/Units.md
index 20d775e7a5770afb7e5d8399c46f5ae268d82b04..451eef9aa544a99251e627e86b9e7ecbf59d9ebd 100644
--- a/doc/en/Topics/Units.md
+++ b/doc/en/Topics/Units.md
@@ -159,6 +159,14 @@ try to split the expression into units and numbers, and the return the units and
 
 The function `stack_units_split` is deprecated.  DO NOT USE.
 
+## Fine-tuning the display ##
+
+By default STACK's TeX function prints out `stackunits(10,m/s)` as \( 10\, m/s\).  That is, without any multiplication sign between the numerical part and the units.  In some edge cases you might want to add this multiplication sign in.  To do this, use
+
+    texput(multsgnstackunits, "\\cdot");
+
+in the question variables.  In castext you can use, e.g. `{@(texput(multsgnstackunits, "\\cdot "), stackunits(1, s^-1))@}` to create output \({1\cdot s^ {- 1 }}\).
+
 ## Custom units ##
 
 The teacher may want to use their own units. For example, the core `unit` package in Maxima does not include `mm` (millimetre), it is defined there as a word `millimetre`.  This is one reason for creating our own custom units package.
diff --git a/stack/maxima/stackunits.mac b/stack/maxima/stackunits.mac
index 3ddb9cd4accee1f482454796e5e9511cd9c3cc39..f24075b6e4ba63015804d6dd5dcd2f9c2499f847 100644
--- a/stack/maxima/stackunits.mac
+++ b/stack/maxima/stackunits.mac
@@ -392,8 +392,10 @@ stack_validate_units(expr, LowestTerms, TAns, fracdisp) := block( [simp:false, e
   return(expr)
 )$
 
+texput(multsgnstackunits, "\\, ");
+
 /* Finer control over display of units, separating out the number from the units. */
-stackunitstex(ex) := block ([a, b, c, astr, bstr],
+stackunitstex(ex) := block([a, b, c, astr, bstr],
   a:first(args(ex)),
   b:second(args(ex)),
   if scientific_notationp(a) then make_multsgn("cross"),
@@ -410,8 +412,9 @@ stackunitstex(ex) := block ([a, b, c, astr, bstr],
   bstr:tex1(b),
   if is(strim(" ", astr)="") then return(bstr),
   if is(strim(" ", bstr)="") then return(astr),
-  sconcat(astr,"\\, ", bstr)
+  sconcat(astr, tex1(multsgnstackunits), bstr)
 )$
+
 texput(stackunits, stackunitstex);
 texput(NULLUNITS, "");
 texput(NULLNUM, "");
diff --git a/tests/castext_test.php b/tests/castext_test.php
index 89c21cc4c1bbaa771e482baba218602cdae26268..f6f72a65f3ce9d42802e0176b475de735d606da5 100644
--- a/tests/castext_test.php
+++ b/tests/castext_test.php
@@ -2369,4 +2369,26 @@ class castext_test extends qtype_stack_testcase {
         $this->assertEquals('\({x-0}\), \({x-0.0}\), \({x\cdot \left(-0.0\right)}\), \({-27}\).',
             $at1->get_rendered());
     }
+
+    /**
+     * @covers \qtype_stack\stack_cas_castext2_latex
+     * @covers \qtype_stack\stack_cas_keyval
+     */
+    public function test_make_mult_sgn_stackunits() {
+        $options = new stack_options();
+        $options->set_option('simplify', false);
+        $cs2 = new stack_cas_session2([], $options, 123456);
+
+        $textinput = '{@stackunits(10,m/s)@}, ' .
+            '{@(texput(multsgnstackunits, "\\\\cdot "), stackunits(1, s^-1))@}, ' .
+            '{@(texput(multsgnstackunits, "\\\\, "), stackunits(1, s^-1))@}. ' .
+            'Multiplication unaffected: {@(texput(multsgnstackunits, "\\\\, "), a*b)@}.';
+        $at1 = castext2_evaluatable::make_from_source($textinput, 'test-case');
+        $this->assertTrue($at1->get_valid());
+        $cs2->add_statement($at1);
+        $cs2->instantiate();
+
+        $this->assertEquals('\({10\, \frac{m}{s}}\), \({1\cdot s^ {- 1 }}\), \({1\, s^ {- 1 }}\). ' .
+            'Multiplication unaffected: \({a\cdot b}\).', $at1->get_rendered());
+    }
 }