diff --git a/mutalyzer/GenRecord.py b/mutalyzer/GenRecord.py
index 91ddb1994c9cacd1506391ee476c65dbff00e34b..f4a8ad2a4b6c84ad10e3da5556a037b047f20934 100644
--- a/mutalyzer/GenRecord.py
+++ b/mutalyzer/GenRecord.py
@@ -645,11 +645,31 @@ class GenRecord() :
         forwardStop = stop_g
         reverseStart = stop_g
         reverseStop = start_g
+
+        if self.record.orientation == 1:
+            chromStart = self.record.toChromPos(start_g)
+            chromStop = self.record.toChromPos(stop_g)
+            chromArg1 = arg1
+            chromArg2 = arg2
+        else:
+            chromStart = self.record.toChromPos(stop_g)
+            chromStop = self.record.toChromPos(start_g)
+            chromArg1 = Bio.Seq.reverse_complement(arg1)
+            chromArg2 = Bio.Seq.reverse_complement(arg2)
+            # Todo: Should we use arg1_reverse here?
+
         if roll :
             forwardStart += roll[1]
             forwardStop += roll[1]
             reverseStart -= roll[0]
             reverseStop -= roll[0]
+            if chromStart is not None:
+                if self.record.orientation == 1:
+                    chromStart += roll[1]
+                    chromStop += roll[1]
+                else:
+                    chromStart += roll[0]
+                    chromStop += roll[0]
         #if
 
         if varType != "subst" :
@@ -675,14 +695,12 @@ class GenRecord() :
                     self.record.addToDescription("(%s_%s)%s%s" % (
                         forwardStart, forwardStop, varType, arg1))
                     self.record.addToChromDescription("(%s_%s)%s%s" % (
-                        self.record.toChromPos(forwardStart),
-                        self.record.toChromPos(forwardStop), varType, arg1))
+                        chromStart, chromStop, varType, chromArg1))
                 else:
                     self.record.addToDescription("%s_%s%s%s" % (
                         forwardStart, forwardStop, varType, arg1))
                     self.record.addToChromDescription("%s_%s%s%s" % (
-                        self.record.toChromPos(forwardStart),
-                        self.record.toChromPos(forwardStop), varType, arg1))
+                        chromStart, chromStop, varType, chromArg1))
             #if
             else :
                 if start_fuzzy or stop_fuzzy:
@@ -691,12 +709,12 @@ class GenRecord() :
                     self.record.addToDescription("(%s)%s%s" % (
                         forwardStart, varType, arg1))
                     self.record.addToChromDescription("(%s)%s%s" % (
-                        self.record.toChromPos(forwardStart), varType, arg1))
+                        chromStart, varType, chromArg1))
                 else:
                     self.record.addToDescription("%s%s%s" % (
                         forwardStart, varType, arg1))
                     self.record.addToChromDescription("%s%s%s" % (
-                        self.record.toChromPos(forwardStart), varType, arg1))
+                        chromStart, varType, chromArg1))
             #else
         #if
         else :
@@ -706,12 +724,12 @@ class GenRecord() :
                 self.record.addToDescription("(%s)%c>%c" % (
                     forwardStart, arg1, arg2))
                 self.record.addToChromDescription("(%s)%c>%c" % (
-                    self.record.toChromPos(forwardStart), arg1, arg2))
+                    chromStart, chromArg1, chromArg2))
             else:
                 self.record.addToDescription("%s%c>%c" % (
                     forwardStart, arg1, arg2))
                 self.record.addToChromDescription("%s%c>%c" % (
-                    self.record.toChromPos(forwardStart), arg1, arg2))
+                    chromStart, chromArg1, chromArg2))
 
         for i in self.record.geneList :
             for j in i.transcriptList :
diff --git a/tests/test_variantchecker.py b/tests/test_variantchecker.py
index a078ec890e0765e09633833e73337133791cc65d..11557bff1fb356e97e7c205012466d50a0b50c5d 100644
--- a/tests/test_variantchecker.py
+++ b/tests/test_variantchecker.py
@@ -528,6 +528,148 @@ class TestVariantchecker():
         assert 'UD_127955523176(DMD_v001):c.=' \
                in self.output.getOutput('descriptions')
 
+    @skip
+    def test_ud_reverse_sequence(self):
+        """
+        Variant on UD from reverse strand should have reverse complement
+        sequence.
+
+        Todo: We cannot use UD references in unit tests, unless we implement
+            a way to create them inside the unit test.
+        """
+        check_variant('UD_132680290559(DPYD_v1):c.85C>T', self.output)
+        error_count, _, _ = self.output.Summary()
+        assert_equal(error_count, 0)
+        assert_equal(self.output.getIndexedOutput('genomicChromDescription', 0),
+                     'NC_000001.10:g.98348885G>A')
+        assert_equal(self.output.getIndexedOutput('genomicDescription', 0),
+                     'UD_132680290559:g.42731C>T')
+        assert 'UD_132680290559(DPYD_v001):c.85C>T' \
+               in self.output.getOutput('descriptions')
+
+    @skip
+    def test_ud_forward_sequence(self):
+        """
+        Variant on UD from forward strand should have forward sequence.
+
+        Todo: We cannot use UD references in unit tests, unless we implement
+            a way to create them inside the unit test.
+        """
+        check_variant('UD_132680514783(MARK1_v001):c.400T>C', self.output)
+        error_count, _, _ = self.output.Summary()
+        assert_equal(error_count, 0)
+        assert_equal(self.output.getIndexedOutput('genomicChromDescription', 0),
+                     'NC_000001.10:g.220773181T>C')
+        assert_equal(self.output.getIndexedOutput('genomicDescription', 0),
+                     'UD_132680514783:g.76614T>C')
+        assert 'UD_132680514783(MARK1_v001):c.400T>C' \
+               in self.output.getOutput('descriptions')
+
+    @skip
+    def test_ud_reverse_range(self):
+        """
+        Variant on UD from reverse strand should have reversed range
+        positions.
+
+        This UD number is for DPYD.
+
+        Todo: We cannot use UD references in unit tests, unless we implement
+            a way to create them inside the unit test.
+        """
+        check_variant('UD_133130716532:g.10624_78132del', self.output)
+        error_count, _, _ = self.output.Summary()
+        assert_equal(error_count, 0)
+        assert_equal(self.output.getIndexedOutput('genomicChromDescription', 0),
+                     'NC_000009.11:g.32928508_32996016del')
+        assert_equal(self.output.getIndexedOutput('genomicDescription', 0),
+                     'UD_133130716532:g.10624_78132del')
+
+    @skip
+    def test_ud_forward_range(self):
+        """
+        Variant on UD from forward strand should have forward range positions.
+
+        Todo: We cannot use UD references in unit tests, unless we implement
+            a way to create them inside the unit test.
+        """
+        check_variant('UD_132680514783(MARK1_v001):c.400_415del', self.output)
+        error_count, _, _ = self.output.Summary()
+        assert_equal(error_count, 0)
+        assert_equal(self.output.getIndexedOutput('genomicChromDescription', 0),
+                     'NC_000001.10:g.220773181_220773196del')
+        assert_equal(self.output.getIndexedOutput('genomicDescription', 0),
+                     'UD_132680514783:g.76614_76629del')
+
+    @skip
+    def test_ud_reverse_del_length(self):
+        """
+        Variant on UD from reverse strand should have reversed range
+        positions, but not reverse complement of first argument (it is not a
+        sequence, but a length).
+
+        This UD number is for DPYD.
+
+        Todo: We cannot use UD references in unit tests, unless we implement
+            a way to create them inside the unit test.
+        """
+        check_variant('UD_133130716532:g.10624_78132del67509', self.output)
+        error_count, _, _ = self.output.Summary()
+        assert_equal(error_count, 0)
+        assert_equal(self.output.getIndexedOutput('genomicChromDescription', 0),
+                     'NC_000009.11:g.32928508_32996016del')
+        assert_equal(self.output.getIndexedOutput('genomicDescription', 0),
+                     'UD_133130716532:g.10624_78132del')
+
+    @skip
+    def test_ud_reverse_roll(self):
+        """
+        Variant on UD from reverse strand should roll the oposite direction.
+
+        The situation is as follows:
+
+                      G    A    A    A    T    T
+                c.   102  103  104  105  106  107
+                g.   748  749  750  751  752  753
+            chr g.   868  867  866  865  864  863
+
+        Todo: We cannot use UD references in unit tests, unless we implement
+            a way to create them inside the unit test.
+        """
+        check_variant('UD_132680290559(DPYD_v001):c.104del', self.output)
+        error_count, _, _ = self.output.Summary()
+        assert_equal(error_count, 0)
+        assert_equal(self.output.getIndexedOutput('genomicChromDescription', 0),
+                     'NC_000001.10:g.98348867del')
+        assert_equal(self.output.getIndexedOutput('genomicDescription', 0),
+                     'UD_132680290559:g.42751del')
+        assert 'UD_132680290559(DPYD_v001):c.105del' \
+               in self.output.getOutput('descriptions')
+
+    @skip
+    def test_ud_forward_roll(self):
+        """
+        Variant on UD from forward strand should roll the same.
+
+        The situation is as follows:
+
+                      A    T    T    T    A
+                c.   398  399  400  401  402
+                g.   612  613  614  615  616
+            chr g.   179  180  181  182  183
+
+        Todo: We cannot use UD references in unit tests, unless we implement
+            a way to create them inside the unit test.
+        """
+        check_variant('UD_132680514783(MARK1_v001):c.400del', self.output)
+        error_count, _, _ = self.output.Summary()
+        assert_equal(error_count, 0)
+        assert_equal(self.output.getIndexedOutput('genomicChromDescription', 0),
+                     'NC_000001.10:g.220773182del')
+        assert_equal(self.output.getIndexedOutput('genomicDescription', 0),
+                     'UD_132680514783:g.76615del')
+        assert 'UD_132680514783(MARK1_v001):c.401del' \
+               in self.output.getOutput('descriptions')
+
     def test_deletion_with_sequence_forward_genomic(self):
         """
         Specify the deleted sequence in a deletion.